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

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

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

Codeforces Alpha Round #20

はい。昨日が18で今日が20なのは間違いではなくて開催順です。はい。 なんか超お試しコンテストだったようで問題数少なく難易度も低い。

A. BerOS file system

implementation

ざっくり大意

・区切りの'/'がかぶってるのを除去して正常なディレクトリ区切りに

方針のようなもの

・'/'区切りで受け取って結合して

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import time
import sys, io
import re, math
start = time.clock()
n=raw_input().split('/')
ans=[]
for x in n:
    if len(x)>0:
        ans.append('/'+x)

print ''.join(ans) if len(ans)>0 else '/'

まだ他の方の回答見てません。。。

B. Equation

math

ざっくりと大意

・a,b,cが与えられ2次方程式の解の個数と解を出力する。
・ただし、a,b,cのいずれも0である場合があるのでその場合は2時方程式ではなくなる。 ・解が無限にあるものは-1、解がないものは0を出力する。

方針のようなもの

・解なしの例外になりやすいパターンや、0除算でのエラーに気をつける。

a,b,c=map(int, raw_input().split())
chk=b**2-4*a*c
ans=[]

if a==b==c==0:
    print -1
elif a==b==0 or chk<0:
    print 0
else:
    if a!=0:
        ans.append(((-1.0*b)+(chk**0.5))/(2*a))
        ans.append(((-1.0*b)-(chk**0.5))/(2*a))
        if ans[0]==ans[1]:
            ans.pop()
    elif b!=0:
        ans.append((-1.0*c)/b)
    ans.sort()
    print len(ans)
    for i in ans:
        print i

a==b==c==0 はxがどんな数でも右辺が0になり解が無限にあるので-1です。 a==b==0でc!=0ですとxがどんな数でも左辺と右辺が等しくならないので解なしで0です。

C. Dijkstra?

graphs,shortest paths

ざっくりと大意

・nは頂点の数、mは端っこの数。 ・なんか最短経路っぽい?

方針のようなもの

・問題名からするとダイクストラ法でってことですよね、多分。
まだ解いてません。。