codeforces#32

まだ不慣れだけど参加してみた.

時系列的にこんな感じ.



0:04:00 A pretest 通過

0:17:43 B pretest 通過

1:08:40 D pretest 通過

1:44:24 C Time limit exceeded on test 12

1:54:55 D Hacked

E めんど

2:00:00 終わり><



んでもって結果は



A Wrong answer on test 8

B Accepted

C だめ

D hackされるとかないわー

E そんな問題あったの?



ふぅ

コンテスト終わってから投げたコードでA, CはAcceptされた.



まずAについて

数列が与えられて二つとってきてその差の絶対値がd以下の組み合わせが何組あるか.

超簡単じゃんと言って4:00に投げたコードがこれ.

import math
n, d = map(int, raw_input().split())
h = map(int, raw_input().split())
ans = 0
for i in xrange(0, len(h)):
    for j in xrange(0, len(h)):
        if not i is j and abs(h[i] - h[j]) <= d:
            ans += 1
print ans

pretestに通ったからまったく気が付かなかった.

isと==は別物なんだね...

コンテスト終わってからnot i is jのところをi != jってしたら普通に通りました, はい.

ちなみにJで書いたら

10 *1-$@]) 10 20 50 60 65

って感じ.



Bについて.

Bに着たのが早かったので, 問題の間違いに動揺するも, ちゃんとalertで間違いが示されたので一安心.

三進数の文字置換をしなさいって問題.

0が.で1が-.で2が--ってなってる.

投げたコードはこれ.

import re
print re.sub(r'-1', '20', re.sub(r'\.', '0', re.sub(r'--', '2', re.sub(r'-\.', '1', raw_input()))))

これで通るとは思いませんでした, はい.



Cについて.

蚤が飛び回る問題.

コンテスト後に投げてacceptされたコードがこれ.

n, m, s = map(int, raw_input().split())
print ((n - 1) % s + 1) * ((n - 1) / s + 1) * ((m - 1) % s + 1) * ((m - 1) / s + 1)

これでいいのかよ...おい...



Dについて.

Hackされるとかないわー

しかもtime limitのhackだったし.

1:08:40に投げたコードはこれ.

import re
n, m, k = map(int, raw_input().split())
arr = []
ans = []
class END(Exception):
    pass
for i in xrange(n):
    arr.append(raw_input())
for x in xrange(1, min(n / 2, m / 2) + 1):
    for i in xrange(x, n - x):
        for j in xrange(x, m - x):
            try:
                if arr[i][j] is '*' and arr[i][j + x] is '*' and arr[i + x][j] is '*' and arr[i][j - x] is '*' and arr[i - x][j] is '*':
                    ans.append([(i + 1, j + 1), (i - x + 1, j + 1), (i + x + 1, j + 1), (i + 1, j - x + 1), (i + 1, j + x + 1)])
            except:
                pass
try:
    for a in ans[k - 1]:
        print '%d %d' % a
except:
    print -1

あーあ...

ダメだこりゃ...

後で見たら何か無駄な事書いてるしwww

なんでreをimportしてるんでしょうね(遠目

まだ訂正できてない状態...



Eについて.

壁と鏡と二人がいて, お互いが見えるかという問題(たぶん

壁の計算は出来てるけど鏡の所がまだ書けてない.

というか面倒くさい.

うーん...

*1:+/@,@([>:|@-/~@]