Ignatius and the Princess IV
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32767K (Java/Other)
Total Submission(s) : 65 Accepted Submission(s) : 17
"I will tell you an odd number N, and then N integers. There will be a special integer among them, you have to tell me which integer is the special one after I tell you all the integers." feng5166 says.
"But what is the characteristic of the special integer?" Ignatius asks.
"The integer will appear at least (N+1)/2 times. If you can't find the right integer, I will kill the Princess, and you will be my dinner, too. Hahahaha....." feng5166 says.
Can you find the special integer for Ignatius?
5 1 3 2 3 3 11 1 1 1 1 1 5 5 5 5 5 5 7 1 1 1 1 1 1 1
3 5 1
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
简单题,做的时候出现了超时问题,问题是由于cin造成的,用cin输入num会出现超时,但通过scanf函数接受num时可以AC,这个不明白,刚开始学C++,对它的输入输出不是很了解。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
代码:
/***********************
* 程序名:Ignatius and the Princess IV.cpp
* 功能:ACM
************************/
#include <iostream>
#include <Cstdio>
using namespace std;
int main()
{
int N, num, temp, i;
while(scanf("%d", &N) != EOF) {
int count[32768] = {0};
for(i = 0; i < N; i++) {
scanf("%d", &num);
count[num]++;
if(count[num] >= (N+1)/2) {
temp = num;
}
}
cout<<temp<<endl;
}
return 0;
}