Advertisement
Guest User

Untitled

a guest
Jan 28th, 2015
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.83 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstdlib>
  4. #include <cstring>
  5.  
  6. using namespace std;
  7.  
  8. string sizes[] = {"S", "M", "L", "X", "XL"};
  9. int sockMap[26][26][26][5];
  10.  
  11. void init(){
  12.     for(int i1 = 0; i1 < 26; i1++){
  13.         for(int i2 = 0; i2 < 26; i2++){
  14.             for(int i3 = 0; i3 < 26; i3++){
  15.                 for(int s = 0; s < 5; s++){
  16.                     sockMap[i1][i2][i3][s] = 0;
  17.                 }
  18.             }
  19.         }
  20.     }
  21. }
  22.  
  23. void output(int i){
  24.     printf("Case #%d\n",i);
  25.     for(int i1 = 0; i1 < 26; i1++){
  26.         for(int i2 = 0; i2 < 26; i2++){
  27.             for(int i3 = 0; i3 < 26; i3++){
  28.                 for(int s = 0; s < 5; s++){
  29.                     int t = sockMap[i1][i2][i3][s];
  30.                     if(t > 0){
  31.                         if(t % 2 == 0){
  32.                             printf("Socks fine\n");
  33.                         }else{
  34.                             printf("%c%c%c %s\n",i1+'a' ,i2+'a' ,i3+'a', sizes[s].c_str());
  35.                         }
  36.                     }
  37.                     sockMap[i1][i2][i3][s] = 0;
  38.                 }
  39.             }
  40.         }
  41.     }
  42. }
  43.  
  44. int main(){
  45.     init();
  46.     freopen("input.txt","r",stdin);
  47.  
  48.     int n, m;
  49.     string name,sz;
  50.  
  51.     scanf("%d",&n);
  52.     //cout << n << endl;
  53.  
  54.     for(int i = 0; i < n; i++){
  55.         scanf("%d",&m);
  56.         //cout << m << endl;
  57.  
  58.         for(int j = 0; j < m; j++){
  59.             cin >> name >> sz;
  60.             int si = 0;
  61.             for(; si < 5; si++)
  62.                 if(sz.compare(sizes[si]) == 0)
  63.                     break;
  64.             int i1 = name.at(0) - 'a';
  65.             int i2 = name.at(1) - 'a';
  66.             int i3 = name.at(2) - 'a';
  67.  
  68.             sockMap[i1][i2][i3][si]++;
  69.             //cout << name << " " << sz << endl;
  70.         }
  71.  
  72.         output(i + 1);
  73.     }
  74.  
  75.     return 1;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement