Codeforces Beta Round #40 (Div. 2)
はい。
http://codeforces.com/contest/41
implementation,strings
ざっくりと大意
・BerlandからBirlandへの翻訳はめんどくさい。
・だがだが言語は類似していて綴りや発音が逆向きになる?
方針のようなもの
・[::-1]でいいかもしれない。
print 'YES' if raw_input() == raw_input()[::-1] else 'NO'
方針は[::-1]で比較で問題なかった。それよりも変数に代入しなくてもifの条件式の部分で受け取りできたとかすごい便利なのに今まで色々もったいなかったかもしれない。
B. Martian Dollar
brute force
ざっくりと大意
・Vasyaはn日間でbを元手に火星とレートaで為替交換をする?
・最大いくらに増やせるか?
・取引は1セットしか出来ない?
方針のようなもの
・最も差益が取れる日を探す。
#!/usr/bin/env python # -*- coding: UTF-8 -*- import time import sys, io import re, math #start = time.clock() (n,b)=map(int, raw_input().split()) l=[int(x) for x in raw_input().split()] ans=b for i in range(n-1): start = b kari = start/l[i] start -= (kari*l[i]) ans=max(ans,start+(kari*max(l[i+1:]))) print ans
最初は二重ループで翌日以降の日を総当りしてたけど、maxで最大で取引できる日だけチェックすればよかった。気づくまではTLEに苦しんだ。。
C. Email address
expression parsing,implementation
ざっくりと大意
・vasyaatgmaildotcomをvasya@gmail.comに変換するような仕事。
・メールアドレスには必ず@を含み、先頭や末尾に@と.が来ることはない。
・・最短で辞書編集上最小のものに変換するらしい。
方針のようなもの
・とりあえず最初と最後の文字は省いてdotを全部変換かな。
・atは最初に見つかった一つを変換で終了。
#!/usr/bin/env python # -*- coding: UTF-8 -*- import time import sys, io import re, math #start = time.clock() n=raw_input() kari=n #print n[1:-1] n=n[1:-1].replace('dot','.') #n=n[::-1] n=n.replace('at','@',1) #n=n[::-1] print kari[0]+n+kari[-1]
上のものはWAした残骸がコメントアウトされてます。。@が後ろのほうが辞書順が先になりそうだし後ろに寄せようとして反転してtaを@にしてまた反転してWAくらいました。はい。。