程序没有进入FOR循环
Program is not entering into FOR loop
我不知道为什么,但是程序没有进入FOR循环。我是全新的编程,所以请避免任何错误,如果有。非常感谢你的帮助。
这个问题来自一个编码网站::
给你一个N人参加ACM-ICPC世界总决赛的名单。他们每个人要么精通一个话题,要么不是。找出一个2人小组可以知道的最大题目数。并找出有多少团队可以知道主题的最大数量?
输入格式第一行包含两个整数N和M,中间用一个空格分隔,其中N表示人数,M表示话题数。接下来是N行。每行包含一个长度为m的二进制字符串,其中1表示第i个人知道某个特定主题,0表示第i个人不知道该主题。
输出格式在第一行,打印2人团队可以知道的最大主题数。在第二行,打印可以知道最大题目数的团队数量。
的约束样本输入2 ≤ N ≤ 500 1 ≤ M ≤ 500
的示例输出4 5 10101 11100 11010 00101
5 2
下面是我的代码::
#include<iostream>
using namespace std;
int main(){
int N,M;
cin>>N>>M;
if(N>=2 && N<=500 && M>=1 && M<=500){
int x= (N*(N-1))/2;
int i,j,k;
int Topic[x];
for(i=0;i<x;i++){
Topic[i]=0;
}
int y= N*M;
int a;
char Array[y];
while(N--){
for(i=0;i<M;i++){
cin>>Array[a];
a++;
}
}
int count;
int d=0;
int l=N-1;
// This FOR LOOP ..
**for(int p=0;p<l;p++){
for(int q=p+1;q<N;q++){
count=0;
for(k=0;k<M;k++){
int temp=k+(q*M);
int temp1=k+(p*M);
if(Array[temp]+Array[temp1]!=0){
count+=1;
}
}
Topic[d]=count;
d++;
}
}**
int max=Topic[0];
int counter=0;
for(i=0;i<x;i++){
if(max>Topic[i]){
max=Topic[i];
counter=1;
}
else if(Topic[i+1]=Topic[i]){
counter+=1;
}
}
cout<<max<<endl;
cout<<counter;
}
return 0;
}
你有一个从N
计数到0
的循环:
while (N--) {
// ...
}
然后将l
设置为N - 1
,也就是说-1
:
int l = N - 1;
那么你的for
循环想要运行,而p < l
。p
最初是0
, l
最初是-1
,所以循环永远不会运行:
for ( int p = 0; p < l; p++ ) {
// ...
}
相关文章:
- 如何在C++中从两个单独的for循环中添加两个数组
- 为什么我的for循环不能正确获取argv
- 在基于范围的for循环中使用结构化绑定声明
- 通过for循环使用用户输入填充列表
- 使用for循环检查数组中的重复项
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 为什么 const std::p air<K,V>& 在 std::map 上基于范围的 for 循环不起作用?
- 正在使用for循环创建QScatterSerie
- Python中的for循环与C++有何不同
- 在更改for循环的第三部分后,未使用for循环结果
- 在 for 循环中查找问题时遇到困难
- 嵌套for循环C++的问题(初学者)
- 如何用for循环在c++中生成单词三角形
- 如何在for循环中包含两个索引值的测试条件
- 带有多个独立参数的C++For循环
- 为什么我的程序在for循环中k=0时返回垃圾值
- 如何通过替换顺序代码的while循环来添加OpenMP for循环
- C++-For循环未执行
- 基于范围的 for 循环:迭代使用一个元素扩展的向量
- C++ 无法在字符数组中使用 for 循环打印字母模式