Advertisement
tepyotin2

Untitled

Jul 8th, 2023
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.84 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. bool isDiag = false;
  5.  
  6.  
  7. int num[256][2];
  8.  
  9. bool is_even(int x) {
  10.   return x % 2 == 0;
  11. }
  12. int main(){
  13.     //isDiag = true;
  14.     if (isDiag)
  15.     {
  16.         freopen(  "P9 geteven_bronze/4.in", "r", stdin);
  17.     }else{
  18.         freopen(  "geteven.in", "r", stdin);
  19.     }
  20.    
  21.    
  22.     int ans = 0;   
  23.     int N, t ;
  24.     cin >> N ;
  25.     char va;
  26.    
  27.     //no
  28.     for (int i = 0; i < N; i++)
  29.     {
  30.         cin >> va >> t;
  31.         //num[va][t%2]++; !!!Problem not support negative value since will return -1
  32.        
  33.         if (t%2 == 0)
  34.         {
  35.             num[va][0]++;
  36.         }else
  37.         {
  38.             num[va][1]++;
  39.         }
  40.        
  41.         if(isDiag && va == 'M'){
  42.             cout << "letter: " << va << ", isEven: " << t%2
  43.                 << ", num#0: " <<  num[va][0]  << ", num#1 : " <<  num[va][1] << endl;
  44.         }
  45.     }
  46.    
  47.     //ok
  48.     //for (int i = 0; i < N; i++) {
  49.         //char letter;
  50.         //int val;
  51.         //cin >> letter >> val;
  52.  
  53.         //if (is_even(val)) {
  54.           //num[letter][0]++;
  55.         //} else {
  56.           //num[letter][1]++;
  57.         //}
  58.       //}
  59.  
  60.  
  61.    
  62.     int loop = 0;
  63.     for (int b = 0; b < 2; b++)
  64.     for (int e = 0; e < 2; e++)
  65.     for (int s = 0; s < 2; s++)
  66.     for (int i = 0; i < 2; i++)
  67.     for (int g = 0; g < 2; g++)
  68.     for (int o = 0; o < 2; o++)
  69.     for (int m = 0; m < 2; m++)
  70.     {
  71.         loop++;
  72.         if (((b+e+s+s+i+e)*(g+o+e+s)*(m+o+o))%2 == 0)
  73.         {
  74.             //cal possibility
  75.             int p = num['B'][b] * num['E'][e]* num['S'][s]* num['I'][i]* num['G'][g]* num['O'][o]* num['M'][m] ;
  76.             ans += p;
  77.             //cout << "loop: " << loop << ", p: " << p << ", ans: " << ans << endl;
  78.              if (loop == 2)
  79.               {
  80.                   cout << "B: " << num['B'][b]
  81.                         << ", E: " << num['E'][e]  
  82.                         << ", S: " << num['S'][s]
  83.                         << ", I: " << num['I'][i]  
  84.                         << ", G: " << num['G'][g]  
  85.                         << ", O: " << num['O'][o]
  86.                         << ", M: " << num['M'][m] << ", m: " << m<< endl;
  87.               }
  88.         }
  89.     }
  90.    
  91.    
  92.    
  93.     if(!isDiag) freopen("geteven.out", "w", stdout);
  94.     cout << ans << endl;
  95. }
  96.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement