結果
問題 |
No.2920 Blood Type
|
ユーザー |
|
提出日時 | 2025-04-25 19:20:52 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 3,294 bytes |
コンパイル時間 | 2,057 ms |
コンパイル使用メモリ | 196,808 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-04-25 19:20:56 |
合計ジャッジ時間 | 3,467 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 36 |
ソースコード
#ifdef __LOCAL #define _GLIBCXX_DEBUG #include "debug2.h" #endif #ifndef __LOCAL #define show(...) #define SET_GROUP(x) #define SET_MAXCNT(x) #endif #include <bits/stdc++.h> using namespace std; //#include <atcoder/all> //using namespace atcoder; //#include <boost/multiprecision/cpp_int.hpp> //using bigint = boost::multiprecision::cpp_int; #define SIZE(x) (int)(x.size()) #define ALL(x) x.begin(),x.end() using ll = long long; //int di[] = {1, 0, -1, 0, 1, -1, -1, 1}; //int dj[] = {0, 1, 0, -1, 1, 1, -1, -1}; template<class T>bool chmin(T& x,T y){if(x>y){x=y;return true;}return false;} template<class T>bool chmax(T& x,T y){if(x<y){x=y;return true;}return false;} template<class T>vector<T>matrix(int n1,T val){return vector<T>(n1,val);} template<class T>vector<vector<T>>matrix(int n1,int n2,T val){return vector<vector<T>>(n1,matrix<T>(n2,val));} template<class T>vector<vector<vector<T>>>matrix(int n1,int n2,int n3,T val){return vector<vector<vector<T>>>(n1,matrix<T>(n2,n3,val));} template<class T>vector<vector<vector<vector<T>>>>matrix(int n1,int n2,int n3,int n4,T val){return vector<vector<vector<vector<T>>>>(n1,matrix<T>(n2,n3,n4,val));} template<class T>T sum(vector<T>x){T r=0;for(auto e:x)r+=e;return r;} template<class T>T max(vector<T>x){T r=x[0];for(auto e:x)chmax(r,e);return r;} template<class T>T min(vector<T>x){T r=x[0];for(auto e:x)chmin(r,e);return r;} template<class T>set<T>toSet(vector<T>x){set<T> r;for(auto e:x)r.emplace(e);return r;} template<class T>map<T,ll>toMap(vector<T>x){map<T,ll>mp;for(auto e:x)mp[e]++;return mp;} template<class T>vector<T>toVector(set<T>x){vector<T> r;for(auto e:x)r.push_back(e);return r;} template<class T1,class T2>pair<T1,T2> operator+(pair<T1,T2>x,pair<T1,T2>y){return make_pair(x.first+y.first,x.second+y.second);} template<class T1,class T2>pair<T1,T2> operator-(pair<T1,T2>x,pair<T1,T2>y){return make_pair(x.first-y.first,x.second-y.second);} template<class T1,class T2>istream&operator>>(istream&is,tuple<T1,T2>&x){cin>>get<0>(x)>>get<1>(x);return is;} template<class T1,class T2,class T3>istream&operator>>(istream&is,tuple<T1,T2,T3>&x){cin>>get<0>(x)>>get<1>(x)>>get<2>(x);return is;} template<class T1,class T2>istream&operator>>(istream&is,pair<T1,T2>&x){cin>>x.first>>x.second;return is;} template<class T>istream&operator>>(istream&is,vector<T>&x){for(auto&&e:x)is>>e;return is;} template<class T>istream&operator>>(istream&is,vector<vector<T>>&x){for(auto&&e:x)for(auto&&f:e)is>>f;return is;} template<class T>ostream&operator<<(ostream&os,const vector<T>&x){for(auto e:x)os<<e<<" ";return os;} template<class T>ostream&operator<<(ostream&os,const vector<vector<T>>&x){for(auto e:x){for(auto f:e)os<<f<<" ";os<<"\n";}return os;} int main(){ string s, t; cin >> s >> t; show(s, t); int a = 0, b = 0, ab = 0, o = 0; for(int i = 0; i < 2; ++i) for(int j = 0; j < 2; ++j){ string p = s.substr(i, 1) + t.substr(j, 1); show(p); if(p == "AA" || p == "AO" || p == "OA"){ a++; }else if(p == "BB" || p == "BO" || p == "OB"){ b++; }else if(p == "AB" || p == "BA"){ ab++; }else if(p == "OO"){ o++; } } cout << a * 25 << " " << b * 25 << " " << ab * 25 << " " << o * 25 << endl; return 0; }