読者です 読者をやめる 読者になる 読者になる

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

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

Codeforces Beta Round #42 (Div. 2)

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

A. Football

strings

ざっくりと大意

・VasyaはBerland 1910 Footballの決勝の結果を見た。
・ゴールの記録を見てどっちが勝ったのかを判定する。引き分けがないことは保証される。

方針のようなもの

・多い方のチーム名を出力。

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import time
import sys, io
import re, math
#start = time.clock()
n=int(raw_input())
e,w=[],[]
for i in range(n):
    s=raw_input()
    if len(w)==len(e)==0: w.append(s)
    elif s==w[0]: w.append(s)
    else: e.append(s)
print e[0] if len(e)>len(w) else w[0]

2524556のdaidailanlanさん。

n = input()
print sorted([raw_input() for i in range(n)])[n >> 1]

両方を同じリストに入れてソートしてn/2番目のチームが勝ちという判定方法が出来たらしい。
リストに合わせて0-originで
ゴール数1の時:そのまま0番目が勝ち
ゴール数2の時:1番目が勝ち(引分けは無しが保証されているので0,1は同じチームですけど)
ゴール数3の時:1番目の要素に名前が来ないとどちらが辞書順が先でも勝利判定の2点以上にならない。
ゴール数4の時:辞書順先のチームだったら0,1,2の要素になっているので勝利。後のチームだったら2,3に入っているということは引分けが無いので1番目の辞書順後のチームであることが、勝利が確定する。
と言った感じでリストを分ける必要はなかったらしい。。

B. Letter

implementation,strings

ざっくりと大意

・Vasyaは新聞を切り抜いて匿名の手紙を作る??
・大文字小文字を区別して1行目の文字を集めて、2行目の文字列が作れるか?

方針のようなもの

・スペース込みで一文字ずつリスト化してソートして反転。 ・作成したい文字リストの要素が切り抜きリストにあったら切り抜きリストのを削除して次の作成したい文字を探す。
・切り抜きリストに無かったらNOで終了。作成したい文字リストがスペースを含んでればスペースを探そうとしたらYES、含んでなければ探索完走でYESになるかな。

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import time
import sys, io
import re, math
#start = time.clock()
a=list(raw_input())
b=list(raw_input())
a.sort()
b.sort()
a.reverse()
b.reverse()
ans='YES'
for i in b:
    if i==' ':
        break
    elif i in a:
        a.remove(i)
    else:
        ans='NO'
        break
print ans

254256の-dp-さん。

s=list(raw_input())+[' ']*200
try: 
  map(s.remove,raw_input())
  print 'YES'
except:
  print 'NO'

2行目を受け取りながら処理する書き方とか凄いわ。。

C. Lucky Tickets

greedy

ざっくりと大意

・Vasyaは3で割り切れるならLucky Ticketsと考え集めていた。
・弟のLeonidはsulkを持っておりコレクションを正確に2つに裂いて破壊することにした。
・だがVasyaはまた咲かれた2つを組合せLucky Ticketsを作る??

方針のようなもの

・3で割り切れるsetから作成できるペア数と、余り2のsetと余り1のsetから作成できるペア数を出したらtest6でWA