Particle

競技プログラミングについての雑記

CodeForces

Codeforces Round #138 (Div. 2)

A 最初O(n^3)で書いてhackされてしまった。(O(n^3)のままですが、適当にbreakとかcontinueしてるので問題ないです) ソース int main(){ int a[3]; cin>>a[0]>>a[1]>>a[2]; sort(a,a+3); for(int i = 1; i <= 10000; i++){ if(a[0]%i||a[1]%i)continue; for(i…

Codeforces Round #135 (Div. 2)

A. それぞれの文字がkで割り切れれば良いです。 int d[26]; int main(){ int n; string s; cin>>n>>s; int l = s.size(); if(!(l%n)){//要らない for(int i = 0; i < l; i++){ d[s[i]-'a']++; } bool f = true; for(int i = 0; i < 26; i++){ if(d[i]%n)f=fa…

Codeforces Round #133 (Div. 2)

A. 六角形の個数を求めます。 2 であるから、a=b=c=2のときを考えて、a,b,cが増えるときどの程度増えるかを考えれば解けます。 int main(){ int a,b,c,ans=7; cin>>a>>b>>c; a-=2;b-=2;c-=2; ans+=a*3; ans+=b*(a+3); ans+=c*(a+b+3); cout<

Codeforces Round #131 (Div. 2)

久々にCFに出てみました。A. 全探索。 余計なことを考えずに、a,bが0から1000までの場合をすべて確かめる。 int main(){ int n,m,ans=0; cin>>n>>m; for(int i = 0; i <= 1000; i++){ for(int j = 0; j <= 1000; j++){ if(i*i+j==n&&i+j*j==m)ans++; } } cout…

ABBYY Cup 2.0 - Easy

4時間のコンテストでした。 A. n×nの行列の対角と中央の行と列にある数字をすべて足します。 普通に足して、中央の数字の3倍を引いても良いです。 int g[128][128]; int main(){ int n,ans = 0; cin>>n; for(int i = 0; i < n; i++){ for(int j = 0; j < n; …

Croc Champ 2012 - Qualification Round

A. 前から数える。本番ではstring s[3000]としてRE #include <iostream> #include <string> using namespace std; string s[30000]; int main(){ int n,ans = 0; cin>>n; for(int i = 0; i < n; i++)cin>>s[i]; int f = 1; for(int i = 0,l = s[0].size(); i < l && f; i++){ c</string></iostream>…

April Fools Day Contest

普通に面白かったです。 http://codeforces.com/contest/171A サンプルから推測。 #include<iostream> #include<string> using namespace std; int a; string b; int main(){ cin>>a>>b; for(int i = 0,t = 1,l = b.size(); i < l; i++){ a += (b[i]-48)*t; t *= 10; } cout<<a<<endl; } B 問題文は絵で与えられます。 #include <iostream> u</a<<endl;></string></iostream>…

Codeforces Round #113 (Div. 2)

A. 成績が良い順にソートして、上からk番目のチームと同じ成績のチームがいくつあるかを答える問題。 struct team{ int s,t; team(int s,int t) : s(s), t(t){} }; bool operator < (const team& a, const team& b) { return a.s < b.s || a.s == b.s && a.t…

VK Cup 2012 Qualification Round 2

A. Friends or Not 古い情報を上書きして行けば解けそうだけど、何故か解けない。B. Matchmaker yとbが同じになるところだけ考えれば良いです。一応コード載せておくけど、説明できない… int y[1001],b[1001],yx[1001][1001]; vector<int> ba[1001]; int main(){ </int>…

VK Cup 2012 Qualification Round 1

A.Next Round 問題文読めてないけど、通ってた。 k番目の値以上で且つ0じゃないものの個数を出力する。数字が減っていくが、無視して普通に数えても良い。 int n,k,t,p[51],res; int main(){ cin>>n>>k; for(int i = 0; i < n; i++){ cin>>p[i]; if(i == k-1…

CodeForces #106 (Div. 2)

A. ソートして、大きいのから使っていけばよい。 int main(){ int t,w[12]; cin>>t; for(int i = 0; i < 12; i++){ cin>>w[i]; } sort(w,w+12,greater<int>()); for(int i = 0; i <= 12; i++){ if(t<=0){ cout<</int>

CodeForces #101 (Div. 2)

問題Aはhttp://codeforces.com/problemset/problem/141/A A. 文字を数えて、同じかどうか判定すればよい int memo[26]; string a,b,c; int r; int main(){ cin>>a>>b>>c; for(int i=0;i