我在C ++中编程在自动化平台中出现了一些问题,它超出了时间限制,我测试了终端中的代码,我不知道它为什么不停止等待数字我在while循环中限制了n个数字。当我输入n个数字时它应该停止。这是代码:
#include<iostream>
#include<vector>
using namespace std;
int main(){
int n;
while (cin >> n){
vector<int> v(n);
int count = 0;
for (int i = 0; i < n; ++i){
cin >> v[i];
bool unique = true;
for (int j = 0; j < i; ++j){
if (v[i] == v[j]){
unique = false;
j = 1;
}
}
if (unique)
++count;
}
cout << count << endl;
}
}
答案 0 :(得分:2)
您正在使用内部for
循环中的以下语句停止程序:
j = 1;
我认为您可以安全地删除该行,并且应该按预期开始工作,可能会将内部循环更改为:
for (int j = 0; j < i && unique; ++j) { ... }