【发布时间】:2014-11-12 09:07:24
【问题描述】:
我正在用 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;
}
}
【问题讨论】:
-
j = 1;?那是为了什么? -
如果你碰到了一个重复的元素,你设置了
j = 1并且可能会一直循环下去...... -
在
i>= 3 的情况下,在内部循环中设置j=1;将无济于事。 -
这是UVA在线的问题吗?
-
@Aleksandar No,来自 UPC