1 条题解
-
0
C :
#include<stdio.h> #include<string.h> #include<math.h> int num2[1010]; int max(int a) { int result; result=num2[0]; for(int i=0;i<a;i++) { if(num2[i]>result) result=num2[i]; } return result; } main() { int num1[1010],count; float n; while(scanf("%f",&n)!=EOF) { memset(num2,0,sizeof(int)*1010); for(int i=0;i<n;i++) { scanf("%d",&num1[i]); int count=0; for(int j=0;j<i;j++) if(num1[j]==num1[i]) count++; num2[i]=count+1; } if(max(1010)<=ceil(n/2)) puts("YES"); else puts("NO"); } }
C++ :
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int V = 1000 + 50; int n, sum[V]; int main() { int i, j; while(~scanf("%d", &n)) { memset(sum, 0, sizeof(sum)); for(i = 0; i < n; ++i) { int temp; scanf("%d", &temp); sum[temp]++; } int Max = 0; for(i = 1; i <= 1000; ++i) Max = max(Max, sum[i]); if(Max <= (n + 1) / 2) printf("YES\n"); else printf("NO\n"); } }
- 1
信息
- ID
- 2746
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者