結果
問題 |
No.349 干支の置き物
|
ユーザー |
![]() |
提出日時 | 2016-04-01 22:18:28 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,553 bytes |
コンパイル時間 | 1,874 ms |
コンパイル使用メモリ | 177,304 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-17 07:29:56 |
合計ジャッジ時間 | 2,863 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define _GLIBCXX_DEBUG #define dump(c) cerr << "> " << #c << " = " << (c) << endl #define all(c) ((c).begin()), ((c).end()) #define rep(i,n) for(int i=0;i<(int)n;i++) #define FOR(i,s,e) for(int (i)=(int)(s);(i)<(int)(e);++(i)) #define inf 0x3f3f3f3f #define infl 0x3f3f3f3f3f3f3f3fLL typedef long long ll; typedef unsigned long long ull; void print_array(int a[], int n){ rep(i,n){if(i<n-1){cout<<a[i]<<" ";}else{cout<<a[i]<<endl;}}} void print_vector(vector<int> v){rep(i,v.size()){if(i<(int)v.size()-1){cout<<v[i]<<" ";}else{cout<<v[i]<<endl;}}} // vector template<typename T> ostream& operator<<(ostream& s, const vector<T>& v) {int l = v.size();rep(i,l) {s<<v[i];if(i<l-1) s<<"\t";}return s;} // 2 dimentional vector template<typename T> ostream& operator<<(ostream& s,const vector<vector<T> >&vv) {rep(i,(int)vv.size()){s<<vv[i]<<endl;}return s;} int main() { cin.tie(0); ios::sync_with_stdio(false); int N; cin >> N; unordered_map<string,int> eto; eto["ne"] = 0; eto["ushi"] = 0; eto["tora"] = 0; eto["u"] = 0; eto["tatsu"] = 0; eto["mi"] = 0; eto["uma"] = 0; eto["hitsuji"] = 0; eto["saru"] = 0; eto["tori"] = 0; eto["inu"] = 0; eto["i"] = 0; int m = 0; for (int i = 0; i < N; ++i) { string s; cin >> s; eto[s] ++; m = max(m, eto[s]); } if (m <= N/2 || (N%2==1 && m-1 <= N/2)){ cout << "YES" << endl; }else{ cout << "NO" << endl; } return 0; }