Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- bool isDiag = false;
- int num[256][2];
- bool is_even(int x) {
- return x % 2 == 0;
- }
- int main(){
- //isDiag = true;
- if (isDiag)
- {
- freopen( "P9 geteven_bronze/4.in", "r", stdin);
- }else{
- freopen( "geteven.in", "r", stdin);
- }
- int ans = 0;
- int N, t ;
- cin >> N ;
- char va;
- //no
- for (int i = 0; i < N; i++)
- {
- cin >> va >> t;
- //num[va][t%2]++; !!!Problem not support negative value since will return -1
- if (t%2 == 0)
- {
- num[va][0]++;
- }else
- {
- num[va][1]++;
- }
- if(isDiag && va == 'M'){
- cout << "letter: " << va << ", isEven: " << t%2
- << ", num#0: " << num[va][0] << ", num#1 : " << num[va][1] << endl;
- }
- }
- //ok
- //for (int i = 0; i < N; i++) {
- //char letter;
- //int val;
- //cin >> letter >> val;
- //if (is_even(val)) {
- //num[letter][0]++;
- //} else {
- //num[letter][1]++;
- //}
- //}
- int loop = 0;
- for (int b = 0; b < 2; b++)
- for (int e = 0; e < 2; e++)
- for (int s = 0; s < 2; s++)
- for (int i = 0; i < 2; i++)
- for (int g = 0; g < 2; g++)
- for (int o = 0; o < 2; o++)
- for (int m = 0; m < 2; m++)
- {
- loop++;
- if (((b+e+s+s+i+e)*(g+o+e+s)*(m+o+o))%2 == 0)
- {
- //cal possibility
- int p = num['B'][b] * num['E'][e]* num['S'][s]* num['I'][i]* num['G'][g]* num['O'][o]* num['M'][m] ;
- ans += p;
- //cout << "loop: " << loop << ", p: " << p << ", ans: " << ans << endl;
- if (loop == 2)
- {
- cout << "B: " << num['B'][b]
- << ", E: " << num['E'][e]
- << ", S: " << num['S'][s]
- << ", I: " << num['I'][i]
- << ", G: " << num['G'][g]
- << ", O: " << num['O'][o]
- << ", M: " << num['M'][m] << ", m: " << m<< endl;
- }
- }
- }
- if(!isDiag) freopen("geteven.out", "w", stdout);
- cout << ans << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement