AtCoder Beginner Contest 084
はい。
https://atcoder.jp/contests/abc084
A - New Year
Python3
print(24+(24-int(input())))
なんとか計算する。
B - Cakes and Donuts
C++14
#include<bits/stdc++.h> using namespace std; int main(){ int a,b; scanf("%d %d",&a,&b); char s[a+b+5]; scanf("%s",s); for (int i=0;i<(a+b+1);i++) { if (i==a && isdigit(s[i])) { printf("No\n"); return 0; } else if (i!=a && isdigit(s[i])==false) { printf("No\n"); return 0; } } printf("Yes\n"); return 0; }
問題文の言いなりになって文字を調べる。
C - Special Trains
Python3
n=int(input()) c=[] for i in range(n-1): x,y,z=map(int,input().split()) c.append((x,y,z)) for i in range(n-1): ans=0 for j in range(i,n-1): ans=[c[j][1]+((ans-c[j][1]+c[j][2]-1)//c[j][2])*c[j][2],c[j][1]][ans<c[j][1]] ans+=c[j][0] print(ans) ans=chk=0 print(ans)
全部シミュする出発以降の途中の駅ではS秒の時にか、S+F*n秒みたいになるので計算する。最大でNが500はそれほど大きくないし、調べる駅数はどんどん減っていくので全部シミュして調べる。
D - 2017-like Number
Python3
def prime_t(t): i=2 while i**2<=t: if t%i==0: return 0 i+=1 return 1 d=set([]) n=10**5+1 p=[0]*(10**5+1) for i in range(2,n): if prime_t(i): d.add(i) if (i in d and (i+1)//2 in d): p[i]=p[i-1]+1 else: p[i]=p[i-1] q=int(input()) for i in range(q): ans=0 l,r=map(int,input().split()) print(p[r]-p[l-1])