【codeforces Div2】Technocup 2019
阿新 • • 發佈:2018-12-11
Technocup 2019 - Elimination Round 1
比賽遲到了15分鐘。 (A) 大水題就不說了,有1輸出HARD,否則輸出NO;
#include<bits/stdc++.h> using namespace std; const int maxn = 1e6+10; const int INF = 0x3f3f3f3f; typedef long long ll; ll a[maxn]; int main(){ int n,m; cin>>n; int flag=0; for(int i=1;i<=n;i++){ cin>>a[i]; if(a[i]) flag=1; } if(flag) puts("HARD"); else cout<<"EASY"<<endl; return 0; }
數學題,給你一個矩形判斷某個點是否在矩形內,推出矩形的四個邊的直線方程,看這個點是否滿足即可,一個if就OK。
#include<bits/stdc++.h> using namespace std; const int maxn = 1e6+10; const int INF = 0x3f3f3f3f; typedef long long ll; int main(){ int n,d; int q; cin>>n>>d>>q; int x,y; while(q--){ cin>>x>>y; if(-x+d<=y&&-x+2*n-d>=y&&x-d<=y&&x+d>=y) cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0; }
模擬題,給你一個數字字串問你這個串是否是每段連續子串和相等,由於資料範圍很小,我們暴力列舉整個字串和的因子即可。看最終能否找到。
#include<bits/stdc++.h> using namespace std; const int maxn = 1e6+10; const int INF = 0x3f3f3f3f; typedef long long ll; char c[maxn]; int main(){ int n; cin>>n>>c; int sum=0; for(int i=0;i<n;i++){ sum+=c[i]-'0'; } if(sum==0){ puts("YES"); return 0; } int flag2=0; for(int i=1;i<sum;i++){ if(sum%i==0){ int d=0; int flag1=0; for(int j=0;j<n;j++){ if(d==0||d<i){ d+=c[j]-'0'; } if(d>i){ flag1=1; break; } if(d==i){ d=0; } } if(!flag1){ flag2=1; break; } } if(flag2) break; } if(flag2) puts("YES"); else puts("NO"); return 0; }