AtCoder Roulette

 

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int high = 205;
  5.  
  6. int ar[high][high], ans[high], allC[high], mp[high][high];
  7.  
  8. struct data {
  9. int indx;
  10. int c;
  11. }sarr[high];
  12.  
  13. void sol(int N) {
  14. int C, clen=0;
  15. for(int i=0; i<N; i++) {
  16. cin >> C;
  17. allC[clen++] = C;
  18. for(int j=0; j<C; j++) {
  19. cin >> ar[i][j];
  20. }
  21. }
  22. int X, minC = 37, slen=0;
  23. cin >> X;
  24. for(int i=0; i<N; i++) {
  25. for(int j=0; j<allC[i]; j++) {
  26. if(ar[i][j] == X) {
  27. if(mp[i][j] == 0) {
  28. mp[i][j] = 1;
  29. sarr[slen].indx = i+1;
  30. sarr[slen++].c = allC[i];
  31. if(minC > allC[i]) {
  32. minC = allC[i];
  33. }
  34. }
  35. }
  36. }
  37. }
  38.  
  39. //cout << "output:\n";
  40. //for(int i=0; i<slen; i++) {
  41. //cout << sarr[i].indx << " " << sarr[i].c << "\n";
  42. //}
  43. //cout << minC << "\n";
  44. int anslen = 0;
  45. for(int i=0; i<slen; i++) {
  46. if(sarr[i].c == minC) {
  47. ans[anslen++] = sarr[i].indx;
  48. }
  49. }
  50.  
  51. cout << anslen << "\n";
  52. for(int i=0; i<anslen; i++) {
  53. cout << ans[i] << " ";
  54. }
  55. }
  56.  
  57. int main() {
  58. int N;
  59. cin >> N;
  60. sol(N);
  61. return 0;
  62. }

Comments

Popular posts from this blog

SPOJ-CMG - Collecting Mango

LightOJ 1009 - Back to Underworld

LeetCode Palindrome Number