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

川のブログ

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

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>…

AOJ 0567 Best Pizza

こんにちは川です。 今回は、ソートして高い順からどんどん比較していけば解けます。 問題文はキチンと読まないといけないな。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n,A,B,base; cin>>n>>A>>B>>base; int topping[100]; for(int i</bits/stdc++.h>…

AOJ 0535 Crossing Black Ice

こんにちは川です。 今回は、深さ優先探索ですね。 一度通ったところは0にして、一番深い位置に来たらreturn する前に 1に戻すみたいなことしています。 まだ解いていなかったのが悲しい。 ソースコード #include <bits/stdc++.h> using namespace std; bool ice[90][90];</bits/stdc++.h>…

AOJ 0516 Maximum Sum

こんにちは川です。 今回は、キューを使って入力された値を保存して、 入力された度に比較を行う形のコードを書きました。 特に難しくはないです。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n,m; while(cin>>n>>m,n,m){ int ans=0; qu</bits/stdc++.h>…

AOJ 0267 Triangle of Blocks

こんにちは川です。 今回は、問題文にある通りにブロックの操作をしていけば解けます。 この問題でコード長を短くすることを意識してたけど、そこまでだね。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int num[2000</bits/stdc++.h>…

AOJ 0266 Aka-beko and 40 Thieves

こんにちは川です。 今回は、行く方向を示す配列を作って現在地を示しただけなので 特に言うことはないです。 ソースコード #include<bits/stdc++.h> using namespace std; int serch(int go,int now) { int direction[6][2]={{1,2},{-1,3},{1,-1},{4,5},{5,2},{2,1}}; if(n</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 0001 List of Top 3 Hills

こんにちは川です。 sortしただけなので特に解説はないです。 ソースコード using System; namespace kawa { class MainClass { public static void Main(string[] args) { int[] high = new int[10]; for (int i = 0; i < 10; i++) { high[i] = int.Parse(C…

AOJ 0000 QQ

こんにちは川です。 C#始めました。(冷やし中華風) ちょこちょこ頑張ります。 ソースコード using System; class Sample { public static void Main() { for (int i = 1; i < 10; i++) { for (int j = 1; j < 10; j++) { Console.WriteLine(i + "x" + j + "=…

AOJ 0176 What Color?

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

AOJ 0259 All Numbers Lead to 6174

こんにちは川です。 今回は特に解説はないです。 文字列で受け取る -> 配列に入れなおします。 6174が出るまで ソート -> 変数一つに入れなおす -> 引き算 -> 比較 -> 配列に入れ直し ー> という順序でやってますね。 感想としては、sort関数…

AOJ 0230 Ninja Climbing

こんにちは川です。 今回は、メモ化再帰っぽいことしてますね。 再帰をする際に一度来たことがあれば、ループしているということなので NAを出しています。 それ以外は、今いる場所と場合によって一つ上を調べて それに合った行動をしているだけです。 ソー…

AOJ 0556 Tile

こんにちは川です。 今回は、規則性を見出す問題ですかね。 赤である場合は (縦1列) ai % 3 == 1 で ai - bi が 0 以上 で N - bi が 3 * (ai / 3) もしくは、 (横1列) bi % 3 == 1 で bi - ai が 0 以上 で N - ai が 3 * (bi / 3) 青である場合は (縦1列) …

AOJ 0578 Signboard

こんにちは川です。 今回は、特に言うことはないです。 1文字目と2文字目の間の文字数を読み取り、その値の間隔でお店の名前と 一致するかを判断しています。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; string ans,str; ci</bits/stdc++.h>…

AOJ 0594 Super Metropolis

こんにちは川です。 今回は、最短の道を求める問題ですね。 斜めの道が使えないとき(今いる場所と次の場所が 左上、右下 にあるとき)は マンハッタン距離で、 斜めの道に進める場合はx座標かy座標のどちらかと同じになるまで斜めで進み、 余った道を足せば…

AOJ 0092 Square Searching

こんにちは川です。 今回は、dpですね。 (i,j)を正方形の右下の点と置いた時の辺の長さを持っておきます。 ソースコード #include<bits/stdc++.h> using namespace std; int dp[1000][1000]; string str[1000]; int serch(int n) { int ans=0; memset(dp,0,sizeof(dp)); for</bits/stdc++.h>…

AOJ 0241 Quaternion Multiplication

こんにちは川です。 今回は、問題にある表をもとに計算していくだけです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int num[2][4],n; while(cin>>n,n){ for(int i=0;i<n;i++){ for(int j=0;j<2;j++)for(int k=0;k<4;k++)cin>>num[j][k]; cout<</n;i++){></bits/stdc++.h>

AOJ 0240 Interest Rates

こんにちは川です。 解説はないです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int y,ans=0; cin>>y; double num=0; for(int i=0,b,t,r;i<n;i++){ cin>>b>>r>>t; double sum; if(t==1)sum=1.0+y*r/100.0; else sum=pow(1.0+r/1</n;i++){></bits/stdc++.h>…

AOJ 0229 Big Hit !

こんにちは川です。 今回はただ計算するだけなので特にありません。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int big,regu,nob,ci,su,t; while(cin>>big>>regu>>nob>>ci>>su>>t,big,regu,nob,ci,su,t) cout<<100+ci*2+nob*7+regu*63+big*9</bits/stdc++.h>…

AOJ 0228 Seven Segments

こんにちは川です。 今回は、ディスプレイの状況を文字列として持って置きます。 それと非表示の状態で発するシグナルと同じであれば ”0” 違うのであれば ”1” を出力しています。 そして現在の状況を更新みたいなことしていますね。 ソースコード #include<bits/stdc++.h></bits/stdc++.h>…

AOJ 0227 Thanksgiving

こんにちは川です。 今回はsort関数を使いsortするだけなので特に説明はなしです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n,m; while(cin>>n>>m,n,m){ int vege[1000]; for(int i=0;i<n;i++)cin>>vege[i]; sort(vege,vege+n); for(int i=1;n-m*</n;i++)cin></bits/stdc++.h>…

AOJ 0205 Rock, Paper, Scissors

こんにちは川です。 今回も特に解説はないです。 チョキよりパーのほうが先なのか・・・・(問題の話です) ソースコード #include<bits/stdc++.h> using namespace std; int main() { int num[5]; while(cin>>num[0],num[0]){ vector<int> hand(5,0); hand[num[0]]=1; for(int i</int></bits/stdc++.h>…

AOJ 0207 Block

こんにちは川です。 今回は深さ優先探索でスタートと同じ色を探して、一度通ったところは0にするみたいなことしてます。 メモ化再帰っぽいですかね。 ソースコード #include<bits/stdc++.h> using namespace std; int bord[101][101]={},playx[2],playy[2]; int movex[]={1</bits/stdc++.h>…

AOJ 0239 Calorie Counting

こんにちは川です。 今回は特に解説はないです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int num[1001],ta[1001],si[1001],su[1001]; for(int i=0;i<n;i++)cin>>num[i]>>ta[i]>>si[i]>>su[i]; cin>>num[1000]>>ta[1000]>>si</n;i++)cin></bits/stdc++.h>…

AOJ 0538 IOIOI

こんにちは川です。 今回は、一つ一つ調べていくと間に合いません。 なので、調べられるところまで調べたらそこまで調べた処理を加える?みたいなことをしています。とりあえず見てください。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int </bits/stdc++.h>…

AOJ 0217 Walking in the Hospital

こんにちは川です。 今回は解説は特にないです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n){ int p[2],point[2]={}; cin>>p[0]>>point[0]>>point[1]; point[0]+=point[1]; for(int i=0;i<n-1;i++){ point[1]=0; cin>>p[1]; for(int j=0,num;j<2;</n-1;i++){></bits/stdc++.h>…

AOJ 0216 Cutting Down Water Bills

こんにちは川です。 特に解説はないです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n&&n!=-1){ int sum=3130,num[3]={125,140,160}; for(int i=0,j=n-10;i<3;i++,j-=10){ if(j>10&&i!=2)sum-=num[i]*10; else if(j>0)su</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>

SPAJAM2016_福岡予選_参加記

こんにちは川です。 テストも終わり落ち着いたので、テスト前日に参加したコンテスト参加記でも書こうと思います。 参加したコンテストについて 今回参加したコンテストは日本でも最大級のハッカソンSPAJAMの福岡予選です。 詳しくはサイトのリンクから見て…

AOJ 0619 Selecting Subjects

こんにちは川です。 なんか唐突にJOIの予選問題を解きたくなったので解きました。 まぁ簡単な問題しか解いていませんが。 今回はやるだけです。 ソースコード #include<bits/stdc++.h> using namespace std; int main() { int ten[6],ans=0; for(int i=0;i<6;i++)cin>>ten[i</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>…