君はまるで砂漠に咲く、一輪の花。

僕はその花に引き寄せられる蝶。

Codeforces Beta Round #69 (Div. 2 Only)

はい。
http://codeforces.com/contest/80

A. Panoramix's Prediction

brute force

ざっくりと大意

・2<=n<=m<=50の自然数。nとmは隣り合った?素数か。

方針のようなもの

素数数え上げてリストに入れたけど、50までなら全部予め用意しおいても出来たかも

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#!/usr/bin/env python                                                           
import time
import sys, io
import re, math
#start = time.clock()
n,m=map(int, raw_input().split())
#l=[int(x) for x in raw_input().split()]

def prime(m):
    l=[True for _ in range(m+1)]
    i=2
    while i**2<=m:
        if l[i]:
            j=i+i
            while j<=m:
                l[j]=False
                j+=i
        i+=1
    lis=[i for i in range(m+1) if l[i] and i>=2]
    if m in lis and n in lis:
        if lis.index(m)-lis.index(n)==1:
            print 'YES'
        else:
            print 'NO'
    else:
        print 'NO'
#    return lis

if __name__=='__main__':
    prime(m)

def 実行部分

if name=='main': 実行させる のに慣れてないので処理を分けたり、既に書いたことあるのを使いまわしたりするのにアレでアレ。

素数を予め用意しておく人は殆どいなくてn,mに合わせて確認してる人が多かった。2348322のwere3441さんは難読すぎたけど。。。こんな書き方でYES,NOを出力する人は初めて見たわ。。。。

N,M=map(int,raw_input().split())
print"YNEOS"[min([i for i in range(N+1,M+1) if all([i%j for j in range(2,i)])]+[53])!=M::2]  

B. Depression

geometry,math

ざっくりと大意

・与えられる 何時:何分 が00:00の位置から何度動いてるか??
・0<=n,m<360 で出力させる

方針のようなもの

・何分は60分で360°動くのでそのまま計算。
・何時は12時間で360°。お後で何分かで1時間(30°)の分を加算。

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import time
import sys, io
import re, math
n,m=map(float,raw_input().split(':'))
ans2=360*m/60
if n>=12: n-=12
ans1=360*n/12
ans1+=30*m/60
print ans1,ans2

2560771のdaidailanlanさん。やー、、見るまで何分*6で度数が出ると気付かなかった。。。

h, m = map(int, raw_input().split(':'))
print h % 12 * 30 + m / 2.0, m * 6

うーん、やっぱり他の人の回答も見るようにしたほうが楽しいな。