CodeForces - 519B H - A and B and Compilation Errors——STL练习

亦凉 2022-05-19 11:00 250阅读 0赞

A和B正在准备即将到来的信息学全国联赛。

B非常喜欢写程序。写完程序以后,他必须先编译代码。

最初,编译器显示有Ñ个编译错误,其中每一个被表示为一个正整数。经过一番努力,B设法解决一个错误,然后又编译了下,又改正了一个错误。

B可以完全肯定,他纠正了两个错误,但他忘记了是哪几个编译错误消失了。

你能帮助B来找出那两个已经被改正的错误么?
Input
输入的第一行包含整数n(3≤n≤10^ 5) - 表示编译错误的初始数量。

第二行包含n个空格分隔的整数a1,a2,…,an(1≤ai≤10^9),表示第一次编译的时候出现的n个编译错误的序号。

第三行包含n-1个空格分开的整数b1,b2,……,bn-1,表示改正了一个错误以后,第二次编译中显示的错误。保证第三行中的所有数字都是第二行中的所有数字,除了一个被改正了的错误。

第四行有n-2空格分开的整数c1, c2,…, cn-2,表示在又改正了一个错误之后,第三次编译显示的错误。保证在第四行的所有数字都是来自第三行的,除了被改正的那个错误。
Output
输出只有两行,第一行输出一个整数,表示第一次被改正的错误的序号,第二行也输出一个整数,表示第二次被改正的错误的序号。题目保证输入数据都是正确的。

Sample Input
输入样例1:
5
1 5 8 123 7
123 7 5 1
5 1 7

输入样例2:
6
1 4 3 3 5 7
3 7 5 4 3
4 3 7 5
Sample Output
输出样例1:
8
123

输出样例2:
1
3
Hint
注意如果有相同序号的编译错误同时出现,B选手每次最多只能修改一个错误。


这道题3<=n<=105 3 <= n <= 10 5 ,不是很大
于是我就开了2 2 个数组a[100005]b[100005]c[100005] a [ 100005 ]b [ 100005 ]c [ 100005 ],数组保存数字,然后升序排序
找到第一个不同的元素记录下来,


  1. #include<cstdio>
  2. #include<cstring>
  3. #include<cmath>
  4. #include<string>
  5. #include<algorithm>
  6. #include<iostream>
  7. #include<map>
  8. #include<set>
  9. #include<vector>
  10. using namespace std;
  11. typedef long long ll;
  12. const int MAXN=1e5+9;
  13. int a[MAXN],b[MAXN],c[MAXN];
  14. int main()
  15. {
  16. int n;
  17. scanf("%d",&n);
  18. int x;
  19. memset(a,0,sizeof(a));
  20. memset(b,0,sizeof(b));
  21. memset(c,0,sizeof(c));
  22. for(int i=0;i<n;i++)
  23. scanf("%d",&a[i]);
  24. sort(a,a+n);
  25. for(int i=0;i<n-1;i++)
  26. scanf("%d",&b[i]);
  27. sort(b,b+n-1);
  28. for(int i=0;i<n-2;i++)
  29. scanf("%d",&c[i]);
  30. sort(c,c+n-2);
  31. int ans1,ans2;
  32. for(int i=0;i<n;i++)
  33. if(b[i]!=a[i])
  34. {
  35. ans1=a[i];
  36. break;
  37. }
  38. for(int i=0;i<n;i++)
  39. {
  40. if(b[i]!=c[i])
  41. {
  42. ans2=b[i];
  43. break;
  44. }
  45. }
  46. printf("%d\n%d\n",ans1,ans2);
  47. return 0;
  48. }

发表评论

表情:
评论列表 (有 0 条评论,250人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Codeforce--414B--Mashmokh and ACM

    一开始以为是数论的题目,推了半天感觉毫无规律,而且越来越复杂(可能是我智商太低-\_-|||)先把它放到一边去了。而后回来再看还是毫无思路。 去看了下别人的提示,竟发现是dp