fork download
  1. #include <iostream>
  2. using namespace std;
  3. struct field{
  4. string f;
  5. string s;
  6. int num;
  7. };
  8. void prints(field arr[], int n, string p[], string q[], string l[], string m[]){
  9. int ind1 =0,ind2=0;
  10. for(int i =0;i<n;i++){
  11. if(arr[i].num == 1){
  12. p[i] = arr[i%n].f;
  13. q[i] = arr[i%n].s;
  14.  
  15. }
  16. else if(arr[i].num ==0){
  17. l[i] = arr[i%n].f;
  18. m[i] = arr[i%n].s;
  19. }
  20. else{
  21. p[i] = arr[i%n].f;
  22. q[i] = arr[i%n].f;
  23. l[i] = arr[i%n].f;
  24. m[i] = arr[i%n].f;
  25. }
  26. }
  27. /* for(int i =0;i<n;i++){
  28. cout<<p[i]<<q[i]<<l[i]<<m[i];
  29. }*/
  30. }
  31.  
  32. void find(field arr[], int n){
  33. string p[n], q[n], l[n], m[n];
  34. prints(arr, n, p, q, l, m);
  35. string b[4*n], r[4*n];
  36. int ind = 0;
  37. for(int i =0;i<n;i++){
  38. b[ind++] = p[i];
  39.  
  40. b[ind++] =q[i];
  41.  
  42. b[ind++] =l[i];
  43.  
  44. b[ind++] = m[i];
  45.  
  46. }
  47. for(int i = 0;i<4*n;i++){
  48. for(int j = i+1;j<4*n;j++){
  49. if(b[i]==b[j]){
  50. b[i] = "remove";
  51. }
  52. }
  53. }
  54. for(int i = 0;i<4*n;i++){
  55. if(b[i]!= "remove")
  56. r[i]= b[i];
  57. }
  58. for(int i =0;i<4*n;i++)
  59. cout<<r[i]<<" ";
  60.  
  61. }
  62.  
  63.  
  64. int main() {
  65. // your code goes here
  66. int n;
  67. cin>>n;
  68. field arr[n];
  69. for(int i =0;i<n;i++){
  70. cin>>arr[i].f>>arr[i].s>>arr[i].num;
  71. }
  72.  
  73. find(arr, n);
  74. return 0;
  75. }
Success #stdin #stdout 0.01s 5516KB
stdin
3
agvad ash 1
ash ash 1
dg jhdb 0
stdout
agvad     ash     dg jhdb