AtCoder Beginner Contest 086/AtCoder Regular Contest 089
はい。
https://beta.atcoder.jp/contests/abc086
A - Product
Python3
a,b=map(int,input().split()) print('Odd' if (a*b)%2 else 'Even')
%2で偶奇の判定を。。
B - 1 21
C++14
#include<bits/stdc++.h> using namespace std; int main(){ int a,b,tmp; scanf("%d %d",&a,&b); if (b==b%10) { tmp=a*10+b; } else if (b==b%100) { tmp=a*100+b; } else { tmp=a*1000+b; } for (int i=1;i<1000;i++){ if (i*i==tmp) { printf("Yes\n"); return 0; } } printf("No\n"); return 0; }
sqrtとかは誤差が怖いので適当に自乗して調べたほうがいいと思う。多分。。
C - Traveling
C++14
#include<bits/stdc++.h> using namespace std; int main(){ int n,t,x,y,tmp; int chk[3]={0,0,0}; scanf("%d",&n); for (int i=0;i<n;i++) { scanf("%d %d %d",&t,&x,&y); tmp=abs(x-chk[1])+abs(y-chk[2]); if (tmp>t-chk[0] || ((t-chk[0])-tmp)%2) { printf("No\n"); return 0; } chk[0]=t; chk[1]=x; chk[2]=y; } printf("Yes\n"); return 0; }
時刻差より縦横移動距離が大きいと移動が間に合わず不可。移動可能範囲内でも時刻余りが0,2,4...でないと丁度の時間になるように調節できなくて不可になる。