結果
問題 |
No.2109 Special Week
|
ユーザー |
|
提出日時 | 2022-12-19 00:22:00 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,013 bytes |
コンパイル時間 | 8,793 ms |
コンパイル使用メモリ | 352,128 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-11-18 00:07:27 |
合計ジャッジ時間 | 9,437 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 37 |
ソースコード
#pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef long long ull; constexpr int dx[]={1,0,0,-1},dy[]={0,1,-1,0}; constexpr int Dx[]={1,1,0,-1,-1,-1,0,1},Dy[]={0,1,1,1,0,-1,-1,-1}; constexpr int mod=998244353,Mod=1e9+7,inf=Mod; constexpr ll linf=(ll)inf*inf; //* #include<atcoder/all> using namespace atcoder; //*/ int dpm(int m){ if(m==4||m==6||m==9||m==11) return 30; if(m!=2) return 31; return 28; } struct Gregorian{ int m,d; }; int g2n(Gregorian g){ int ans=0; for(int i=1;i<g.m;i++) ans+=dpm(i); ans+=g.d-1; return ans; } Gregorian n2g(int n){ Gregorian ans={1,1}; while(dpm(ans.m)<=n){ n-=dpm(ans.m); ans.m++; } ans.d+=n; return ans; } int main(){ int m,d,k; cin>>m>>d>>k; set<int>st; int n=g2n({m,d}); for(int i=0;i<7;i++){ auto[mm,dd]=n2g(n+i); st.insert(mm/10),st.insert(mm%10),st.insert(dd/10),st.insert(dd%10); } cout<<(st.size()>=k?"Yes":"No")<<endl; }