川のブログ

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

AOJ volume1

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 0161 Sport Meet

こんにちは川です。 今回は、値を計算して比較するだけなので特に言うことはないです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ string str[4]; int num[4]={-1,-1,0,0}; for(int i=0,sum;i<n;i++){ string st; cin>>st; sum=0; for(int j</n;i++){></bits/stdc++.h>…

AOJ 0142 Nature of Prime Numbers

こんにちは川です。 今回は、問題文にある通り計算していけばいいです。 自分用にメモリンクを張ります。 C++編(標準ライブラリ) 第21章 削除のアルゴリズム ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n,number[10001]; for(int i=1</bits/stdc++.h>…

AOJ 0186 Aizu Chicken

こんにちは川です。 今回は、特に言うことはありません。 会津地鶏は、買える限度の量 か 所持金 ÷ 会津地鶏の金額 の 小さいほうの量から1までの範囲買えます。 会津地鶏の量を決めたら所持金から会津地鶏分金額をひき、 所持金 ー 普通の鶏肉金額 x 量 …

AOJ 0163 Highway Toll

こんにちは川です。 今回は、料金表と距離を使った計算をするだけの問題です。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int distance[]={6,7,5,5,20,15}, money[6][6]={{300,500,600,700,1350,1650},{350,450,600,1150,1500}, {250,400,10</bits/stdc++.h>…

AOJ 0164 Ohajiki Game

こんにちは川です。 今回は、問題に書いてある計算式を使っただけなので特に解説はないです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int num[25]; for(int i=0;i<n;i++)cin>>num[i]; for(int i=0,now=32,turn=1;now>0;turn</n;i++)cin></bits/stdc++.h>…

AOJ 0140 Bus Line

こんにちは川です。 今回は、場合分けをして解いただけです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int num[]={0,1,2,3,4,5,6,7,8,9,5,4,3,2,1,0}; for(int i=0,x,y;i<n;i++){ cin>>x>>y; if(x<6&&y<6&&y-x>0){ cout<</n;i++){></bits/stdc++.h>

AOJ 0176 What Color?

こんにちは川です。 今回は、計算がややこしい?ですかね。 自分は、16進数表示された文字列から10進数に直す際は、配列の 文字のアスキーコード表に対応した要素番号に値を保存しました。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { str</bits/stdc++.h>…

AOJ 0123 Speed Skating Badge Test

こんにちは川です。 今回は本当にやるだけなので、特に何もないです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { double time[2]; while(cin>>time[0]>>time[1]){ if(time[0]<35.5&&time[1]<71)cout<<"AAA\n"; else if(time[0]<37.5&&time[1]</bits/stdc++.h>…

AOJ 0134 Exit Survey

こんにちは川です。 今回は、普通に加算していくとint型に入る値をオーバーしてしまうので、適当な数で割って小数で計算しています。平均にした後、適当な数でかけて整数に戻しています。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n,w=</bits/stdc++.h>…

AOJ 0133 Rotation of a Pattern

こんにちは川です。 今回は、for文の回す順序を変えているだけです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { string str[8]; for(int i=0;i<8;i++)cin>>str[i]; cout<<"90\n"; for(int i=0;i<8;i++){ for(int j=7;j>-1;j--)cout<<str[j][i]; cout<<endl; } cout<<"180\n"; for(int i=7;i>-1;i--){</str[j][i];></bits/stdc++.h>…

AOJ 0127 Pocket Pager Input

こんにちは川です。 今回は、文字と数字を対応付けて解いていっただけです。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { string str; char poke[6][6]={{"abcde"},{"fghij"},{"klmno"}, {"pqrst"},{"uvwxy"},{"z.?! "}}; while(cin>>str){ i</bits/stdc++.h>…

AOJ 1000 Sale Result

こんにちは川です。 今回は、普通に計算してしまうとint型の範囲を超えてしまいます。 なので、sale、numをそれぞれ1000で割って、かけた値が1を超えたら出力する、みたいなことをしています。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { in</bits/stdc++.h>…

AOJ 0125 Day Count

こんにちは川です。 今回は、まず最初に入力された西暦から次に入力された西暦までの日数を加算します。 次に余分な月を減算し、日にちをプラスしています。 コードが汚いですね。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int year[2],mon</bits/stdc++.h>…

AOJ 0162 Hamming Numbers

こんにちは川です。 今回の問題は、ハミング数が1 * 2^n * 3^m * 5^x (0<=n,m,x)らしいので ハミング数を割り出し、for分でまわして適当にやりました。 ソースコード #include<bits/stdc++.h> #define MAX 1000001 using namespace std; int main() { bool hamming[MAX]={};</bits/stdc++.h>…

AOJ 0124 League Match Score Sheet

こんにちは川です。 今回もやるだけです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; bool kawa=0; while(cin>>n,n){ if(kawa)cout<<endl; string str[10]; int num[10]; for(int i=0,win,lose,draw;i<n;i++){ cin>>str[i]>>win>>lose>>draw; num[i]=win*3+draw; str[i]+=','; } for(int i=0;i</endl;></bits/stdc++.h>

AOJ 0160 Delivery Fee

こんにちは川です。 これからはしばらくやっていけそうです。 今回は、やるだけです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int ans=0; for(int i=0,x,y,h,w;i<n;i++){ cin>>x>>y>>h>>w; x+=y+h; if(x<=60&&w<=2)ans+=600; </n;i++){></bits/stdc++.h>…

AOJ 0138 Track and Field Competition

こんにちは、川です。 今回はただサーチするだけなので特に無いです。 ちょっとコードが汚いですね <ソースコード> #include <bits/stdc++.h> using namespace std; int main() { int num[24]; double time[24]; for(int i=0;i<24;i++)cin>>num[i]>>time[i]; int thr[3]; </bits/stdc++.h>…

AOJ 0137 Middle-Square Method

こんにちは川です。 今回は、問題文に乱数は真ん中の4個の数をとると書いてあります。 なので、その前の桁の余りを100で割れば答えは出ます。 実際にやってみたらわかります。 ソースコード #include<bits/stdc++.h> using namespace std; void serch(int n,int now) { n=n</bits/stdc++.h>…

AOJ 0159 The Best Body

こんにちは川です。 この問題もやるだけですね ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int man[2]; double bmi[2],h,w; cin>>man[0]>>h>>w; h/=100; bmi[0]=w/(h*h)-22; if(bmi[0]<0)bmi[0]*=-1; for(int i=1;i<n;i++){ cin>></n;i++){></bits/stdc++.h>…

AOJ 0158 Collatz's Problem

こんにちは川です。 この問題は問題文に書いてある通りに実装したら解けますね。 ソースコード #include<bits/stdc++.h> using namespace std; void serch(int n,int now) { if(n==1)cout<<now<<endl; else if(n%2==0)serch(n/2,now+1); else serch(n*3+1,now+1); } int main() { int n; while(cin>>n,n)serch(n,0); }</now<<endl;></bits/stdc++.h>

AOJ 0188 Search

こんにちは川です。 問題文に書いてあると通りにしたら解けます。 気を付けるとしたら max と minの関係が崩れた時にループをやめることですかね。 実際にやってみるとわかります。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(c</bits/stdc++.h>…

AOJ 0112 A Milk Shop

こんにちは川です。 今回は、昇順にすれば解が出るのですが、気を付けなければならないことはint型ではダメなのところですね。まぁ問題文を見ればわかります。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n=0; while(cin>>n,n){ int peop</bits/stdc++.h>…

AOJ 0108 Operation of Frequency of Appearance

こんにちは川です。 今回は、やるだけなので特に解説はないです。 たまにはしないとね。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int ans[12]={},kawa[12]; for(int i=0;i<n;i++){ cin>>kawa[i]; ans[i]=kawa[i]; } for(int i=</n;i++){></bits/stdc++.h>…

AOJ 0105 Book Index

こんにちは川です。 今回は0029に似た感じかと思いきや少し違いました。 辞書順に並べるやり方は見ての通りで、ページ数の昇順についてはバブルソートですね。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int sen=0,num,page[1000][100]={},n</bits/stdc++.h>…

AOJ 0118 Property Distribution

こんにちは川です。 今回は深さで調べていきました。 調べたところは文字0でつぶし領地の数をカウントアップさせるやり方です。 ソースコード #include<bits/stdc++.h>using namespace std;char str[100][101];int movex[4]={1,0,-1,0},movey[4]={0,1,0,-1},h,w;void serch</bits/stdc++.h>…

AOJ 0170 Lunch

こんにちは川です。 今回は愚直に解いたのでこれといった解説は特にないです。 ソースコード #include<bits/stdc++.h>using namespace std;int me[10],rigidity[10],n;char str[10][21];void serch(int num,int now,int sum,int point,int co){ if(num==0)return; else if(n</bits/stdc++.h>…

AOJ 0169 Blackjack

こんにちは川です。 今回は1が出た数をカウントし1と11を入れた場合を深さ優先探索で調べていきました。 ソースコード #include<bits/stdc++.h>using namespace std;int power(int n){ int num=1; for(int i=0;i<n;i++)num*=10; return num;}int serch(int sum,int n){ if(sum>21)return 0; else if(n==0)return sum; else return max(serc</n;i++)num*=10;></bits/stdc++.h>…

AOJ 0168 Kannondou

こんにちは川です。 今回はdpですね。 n段目の通り数=n-3段目の通り数+n-2段目の通り数+n-1段目の通り数 みたいな感じですね。 ソースコード #include<bits/stdc++.h>using namespace std;int main(){ int n; int dp[31]={}; dp[0]=1;dp[1]=1;dp[2]=2; for(int i=3;i<31;i+</bits/stdc++.h>…

AOJ 0149 Eye Test

こんにちは川です。 この問題はもっとコード長を短くしていたのですが、計算の精度が悪すぎてきれてしまったため、 見るに耐えないコードになってしまいました。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int leye[4]={0,0,0,0},reye[4]={0</bits/stdc++.h>…