当前位置:   article > 正文

Codeforces Round 860 (Div. 2)题解

codeforces round 860 (div. 2)

就想简单的吐槽一下B题目:

比如我现在是提供三组数据:1 2 3 4

                                               1 2 3

                                               1 2 3

按照我想的 应该是输出4 -1,因为4并没有在接下来的日子当中出现 所以到现在我也觉得我的想法没有任何毛病,但实际上,如果出现一个-1,那么直接就输出-1 就好了,这个题目是真的傻逼,浪费了这么多的时间:

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. const int N = 50050;
  4. int q[N];
  5. int ans[N];
  6. int flag;
  7. int big = -55;
  8. int small = 999999999;
  9. int hk;
  10. int cnt;
  11. int main(){
  12. int t;
  13. cin >> t;
  14. while(t --){
  15. memset(q,-1,sizeof q);
  16. int t1;
  17. cin >> t1;
  18. int temp = t1;
  19. while(t1 --){
  20. flag ++;
  21. int n;
  22. cin >> n;
  23. for(int i = 1;i <= n;i ++){
  24. int x;
  25. cin >> x;
  26. q[x] = flag;
  27. }
  28. }
  29. int flag1 = 0;
  30. int flag2 = 0;
  31. while(temp --){
  32. flag1 ++;
  33. for(int i = 1 ;i <= 50010;i ++){
  34. if(q[i] == flag1){
  35. //cout << i << " ";
  36. ans[cnt ++] = i;
  37. flag2 = 1;
  38. goto lz;
  39. }
  40. }
  41. if(flag2 == 0) {
  42. cout << "-1" << endl;
  43. hk = 1;
  44. goto hkn;
  45. }
  46. lz:;
  47. flag2 = 0;
  48. }
  49. hkn:;
  50. if(hk == 0){
  51. for(int i = 0;ans[i] != 0;i ++){
  52. cout << ans[i] << " ";
  53. }
  54. cout << endl;
  55. }
  56. cnt = 0;
  57. memset(ans,0,sizeof ans);
  58. hk = 0;
  59. flag1 = 0;
  60. flag2 = 0;
  61. flag = 0;
  62. memset(q,-1,sizeof q);
  63. }
  64. return 0;
  65. }

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号