1 条题解
-
0Guest LV 0 MOD
-
1
特殊地,如果没有给出个数 \(n\),可以使用
while(~scanf("%d",&x))
或
while(cin>>x)
读入。解决了这个问题,这道题也很好解决。
#include<bits/stdc++.h> using namespace std; int x,maxn=INT_MIN,minn=INT_MAX,ans1=0,ans2=0; int a[10005];//注意,这里每个数的上限是 10000,所以要开 10000 及以上的桶 int main() { while(~scanf("%d",&x))//特殊的读入 { a[x]++;//用桶装好 maxn=max(maxn,x);//枚举左边界 minn=min(minn,x);//枚举右边界 } for(int i=minn; i<=maxn; i++)//开始判断 { if(a[i]==0)//没有出现,即第一个答案 ans1=i; if(a[i]==2)//重复出现,即第二个答案 ans2=i; } printf("%d %d\n",ans1,ans2);//分别输出 return 0; }
- 1
信息
- ID
- 1438
- 难度
- 2
- 分类
- (无)
- 标签
- 递交数
- 3
- 已通过
- 1
- 通过率
- 33%
- 上传者