fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <ctype.h>
  4. #include <stdlib.h>
  5.  
  6. int cmp(const void *a, const void *b) {
  7. return strcmp((const char *)a, (const char *)b);
  8. }
  9. int main() {
  10. int t;
  11. scanf("%d\n", &t);
  12.  
  13.  
  14.  
  15. while(t--) {
  16.  
  17. char word[100];
  18. gets(word);
  19.  
  20. char delWord[100];
  21. gets(delWord);
  22.  
  23. char list[100][100];
  24. char listDel[100][100];
  25.  
  26. int n = 0;
  27. char *token = strtok(word, " ");
  28. while (token != NULL) {
  29. strcpy(list[n], token);
  30.  
  31. token = strtok(NULL, " ");
  32. n++;
  33. }
  34. int m = 0 ;
  35. char *token1 = strtok(delWord, " ");
  36. while (token1 != NULL) {
  37. strcpy(listDel[m], token1);
  38.  
  39. token1 = strtok(NULL, " ");
  40. m++;
  41. }
  42.  
  43. qsort(list, n, sizeof(list[0]), cmp);
  44. qsort(listDel, m, sizeof(listDel[0]), cmp);
  45.  
  46. for (int i = 0; i < n; i++) {
  47. int fl = 1;
  48. for (int j = 0; j < m; j++) {
  49. if (strcmp(listDel[j], list[i]) == 0) {
  50. fl = 0;
  51. break;
  52. }
  53. }
  54. if (fl) {
  55. int fl2 = 1;
  56. for (int k = 0; k < i; k++) {
  57. if (strcmp(list[i], list[k]) == 0) {
  58. fl2 = 0;
  59. break;
  60. }
  61. }
  62. if (fl2) {
  63. printf("%s ", list[i]);
  64. }
  65. }
  66. }
  67.  
  68. printf("\n");
  69. }
  70. }
Success #stdin #stdout 0.01s 5320KB
stdin
2

abc ab ab ab abcd

ab abc

aaa xyz ab zzz abc dd dd abc

xyz dd ttt sas cdc2

stdout
ab abc abcd 
ab abc