川のブログ

川の適当気ままなブログです。 

蜻蛉日記 泔坏の水 ~ゆするつきのみず~

こんにちは川です。 勉強のため日本語訳をしてみます。 訳は間違っているところがあるかもしれないので何かあったらコメントください。 原文 心のどかに暮らす日、はかなきこと言ひ言ひの果てに、 我も人もあしう言ひなりて、うち怨じて出づるになりぬ。 端…

AOJ 1172 Chebyshev's Theorem

こんにちは川です。 今回は、エラトステネスの篩を使って解きました。 エラトステネスの篩 - Wikipedia これを知ってれば特に難しくはないです。 ソースコード #include <bits/stdc++.h> using namespace std; bool num[300000]; int main() { for(int i=2;i<548;i++) if(!n</bits/stdc++.h>…

AOJ 1160 How Many Islands?

こんにちは川です。 今回は、深さ優先探索で解けます。 ソースコード #include <bits/stdc++.h> using namespace std; bool island[50][50]; int n,m; int dx[9]={0,1,1,1,0,-1,-1,-1},dy[9]={-1,-1,0,1,1,1,0,-1}; void serch(int y,int x) { island[y][x]=0; for(int i=0,</bits/stdc++.h>…

AOJ 1130 Red and Black

こんにちは川です。 今回は、深さ優先探索で解けます。 下ー>右ー>上ー>左の順で動いています。 ソースコード #include <bits/stdc++.h> using namespace std; string place[20]; int dx[4]={0,1,0,-1},dy[4]={-1,0,1,0},n,m; int serch(int y,int x) { int ans=1; place</bits/stdc++.h>…

AOJ 0221 FizzBuzz

こんにちは川です。 今回は、特に解説はないです。 ソースコード #include <bits/stdc++.h> using namespace std; int power(int num) { int p=1; for(;1<num;num--)p*=10; return p; } int main() { int n,m,a[3]={15,3,5}; string str,fb[3]={"FizzBuzz","Fizz","Buzz"}; while(cin>>m>>n,n,m){ bool player[1000]={}; for(int i=1,now=0,out=m;i<=n;i+…</num;num--)p*=10;></bits/stdc++.h>

AOJ 0175 A King in Hawaii

こんにちは川です。 今回は、与えられた数を4で割ったあまりをstringに格納します。 それを逆順で出力しました。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n&&n!=-1){ string ans; for(;n>0;n/=4)ans+=n%4+'0'; if(ans</bits/stdc++.h>…

AOJ 1192 Tax Rate Changed

こんにちは川です。 今回は問題文に与えられた通りに計算しないと誤差?で通らない? とにかく問題文に与えられた通りに計算すれば通ります。 自分は痛い目みました ソースコード #include <bits/stdc++.h> using namespace std; int main() { double n,m,s; while(cin>>n>></bits/stdc++.h>…

AOJ 2018 Princess's Gamble

こんにちは川です。 今回は、パリミュチュエル方式の理解に苦しみました。 パリミュチュエル方式についてのリンクは下に貼ります。 単純な計算するだけなので解説はないです。 パリミュチュエル方式 - Wikipedia ソースコード #include <bits/stdc++.h> using namespace std</bits/stdc++.h>…

AOJ 1153 Equal Total Scores

こんにちは川です。 今回は、ただ貪欲に解いていきました。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n[2]; while(cin>>n[0]>>n[1],n[0],n[1]){ int num[2][101],sum[2]={}; for(int i=0;i<2;i++){ for(int j=0;j<n[i];j++){ cin>>num[i][j]; sum[i]+=</n[i];j++){></bits/stdc++.h>…

AOJ 1124 When Can We Meet?

こんにちは川です。 今回は、日にちごとに参加できる人を加算します。 その結果から参加できるひとが多い日で早く集まれる日を探してます。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n,m; while(cin>>n>>m,n,m){ int num[101]={},ans=</bits/stdc++.h>…

AOJ 1125 Get Many Persimmon Trees

こんにちは川です。 今回は、間に合いそうだったので、貪欲に確かめていっています。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int wh,hi; cin>>wh>>hi; bool place[100][100]={}; for(int i=0,x,y;i<n;i++){ cin>>x>>y; place</n;i++){></bits/stdc++.h>…

AOJ 2582 Step Aerobics

こんにちは川です。 今回は、stringの文字列を判定するだけなので特に解説はないです。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ string str; bool right=0,left=0; int ans=0,now=1; for(;n>0;n--){ cin>>str; i</bits/stdc++.h>…

AOJ 2440 Kagisys

こんにちは川です。 今回はstringで判定するだけなので特に解説はないです ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n,m,now=0; string ic[257]={},out,log[2]={"Opened by ","Closed by "}; for(cin>>n;n>0;n--)cin>>ic[n]; for(cin></bits/stdc++.h>…

AOJ 2252 koukyoukoukokukikou

こんにちは川です。 今回は、右手のタイプする箇所を基準としてカウントしていきました。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { string str; while(cin>>str,str!="#"){ int ans=0; for(int i=0,now=-1,num=0;i<str.size();i++){ if(str[i]>103&&str[i]<113||str[i]</str.size();i++){></bits/stdc++.h>…

AOJ 2149 Luck Manipulator

こんにちは川です。 今回は、問題文に与えられた式を使って計算しただけなので特に解説はないです。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int num[5]; while(1){ bool kawa=1; for(int i=0;i<5;i++){ cin>>num[i]; if(num[i]!=0)kawa=</bits/stdc++.h>…

AOJ 2006 Keitai Message

こんにちは川です。 今回は、7 8 9の番号を押された時の挙動に気をつけるだけですかね。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n; cin>>n; for(int i=0;i<n;i++){ string str,one=".,!? ",ans; cin>>str; for(int j=0,co=0,num=0;j<=str.size();j++){ if(num==str[j]-'0')co+</n;i++){></bits/stdc++.h>…

AOJ 2197 Sum of Consecutive Integers

こんにちは川です。 今回は、数を減算して、貪欲に確かめていっています。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int ans=0; for(int i=n/2+1;i>1;i--) for(int j=i-1,now=i+j;j>0&&now<=n;j--,now+=j) if(now</bits/stdc++.h>…

AOJ 1179 Millennium

こんにちは川です。 今回は、ただ計算しただけなので解説は特に無いです。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n; cin>>n; for(int i=0,num[3],ans;i<n;i++){ for(int j=0;j<3;j++)cin>>num[j]; num[0]--; num[1]--; if((num[0]+1)%3==0)ans=num[1]*20; else ans=n</n;i++){></bits/stdc++.h>…

AOJ 2000 Misterious Gems

こんにちは川です。 今回は、場所をbool型で持ちます。宝石の場所はtrueとします。 もし通ったときにtrueだったら宝石の数を減算し、 最終的に宝石の数が0なったら"Yes"を出力します。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n; wh</bits/stdc++.h>…

AOJ 1159 Next Mayor

こんにちは川です。 今回は、ただゲームのステップを書いただけです。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n,m; while(cin>>n>>m,n,m){ int num[50]={},now=0,storn=m; while(1){ if(now==n)now=0; if(storn>0){ num[now]++; sto</bits/stdc++.h>…

AOJ 1129 Hanafuda Shuffle

こんにちは川です。 今回は、カードの情報を文字列で持ち、それを加算を駆使してシャッフルをしました。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n,m; while(cin>>n>>m,n,m){ string str; for(int i=n;i>0;i--)str+=i-'0'; for(int i</bits/stdc++.h>…

AOJ 1147 ICPC Score Totalizer Software

こんにちは川です。 今回は、総和から最小値と最大値を引いて平均を出しただけです。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int num[1001]={}; for(int i=0;i<n;i++){ cin>>num[i]; num[1000]+=num[i]; } sort(num,num+n); </n;i++){></bits/stdc++.h>…

ABC 001 C - 風力観測

こんにちは川です。 今回は、先に風力を判定し、方位を確定させました。 理由は風力が0の時、方位が特別な向き'C'が与えられるからです。 特に難しくはないです。 ソースコード #include <bits/stdc++.h> using namespace std; int main(){ double deg,dis; cin>>deg>>dis;</bits/stdc++.h>…

ABC 001 B - 視程の通報

こんにちは川です。 今回も特に解説はないです。 ソースコード #include <iostream> using namespace std; int main() { double vv; cin>>vv; if(vv<100)cout<<"00\n"; else{ vv/=1000; if(vv<=5)vv*=10; else if(vv<=30&&vv>=6)vv+=50; else if(vv<=70&&vv>=35)vv=(vv</iostream>…

ABC 001 A - 積雪深差

こんにちは川です。 AtCoder Beginner Contest を今回から少しずつ解いていこう思います。 今回は解説はないです。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n,m; cin>>n>>m; cout<</bits/stdc++.h>

AOJ 0571 JJOOII

こんにちは川です。 今回は、入力の度に判定してます。 時間をかけすぎました。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { char str; int n[3]={},ans=0; while(cin>>str){ if(str=='J'&&n[1]==0&&n[2]==0)n[0]++; else if(str=='O'&&n[1]</bits/stdc++.h>

AOJ 0514 Quality CheckingQuality Checking

こんにちは川です。 今回は、正常に動いたものを先に判定し、 動かなかったものをあとから判定すればいけます。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int a,b,c; while(cin>>a>>b>>c,a,b,c){ int tool[301]={}; for(int i=1;i<=a+b+c;</bits/stdc++.h>…

AOJ 0517 Longest Steps

こんにちは川です。 今回は、ひたすら探索している感じですかね。 探索している際、空白のカードの数の回数だけ、 出てきていない数が出た時 探索終了しないようにしています。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n,m; while(ci</bits/stdc++.h>…

AOJ 0621 Russian Flag

こんにちは川です。 今回は、各列の’W’、’B’、’R’の数を保存し、 色の境目を全通り試した感じです。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n,m; cin>>n>>m; int num[50][3]={}; char str; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ cin>>str; if(str=='W')num[i][0</n;i++){></bits/stdc++.h>…

AOJ 0620 Swapping Bibs

こんにちは川です。 今回は、swapするだけの問題なので特に難しくはないです。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n,m; cin>>n>>m; int num[100]; for(int i=0;i<n;i++)cin>>num[i]; for(int i=1;i<=m;i++) for(int j=0;j<n-1;j++) if(num[j]%i>num[j+1]%i)swap(n</n-1;j++)></n;i++)cin></bits/stdc++.h>…