2016-09-01から1ヶ月間の記事一覧
こんにちは川です。 今回は素数を求めて、条件にあったところで表示させてます。 ソースコード #include <bits/stdc++.h> using namespace std; bool prime[10000001]; int main() { for(int i=3;i<3162;i+=2) if(!prime[i]) for(int j=i*2;j<10000001;j+=i)prime[j]=1; int</bits/stdc++.h>…
こんにちは川です。 今回は2のn(7〜-4)乗で割り切れる場合数字を2のn乗で引いていき、 その時、文字として答えを数字を2のn乗で割った値を格納していきます。 その後、数が0より大きい場合は制限桁数に入っていないためNAを出力し、 それ以外では答えを格…
こんにちは川です。 勉強のため日本語訳をしてみます。 訳は間違っているところがあるかもしれないので何かあったらコメントください。 原文 心のどかに暮らす日、はかなきこと言ひ言ひの果てに、 我も人もあしう言ひなりて、うち怨じて出づるになりぬ。 端…
こんにちは川です。 今回は、エラトステネスの篩を使って解きました。 エラトステネスの篩 - 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>…
こんにちは川です。 今回は、深さ優先探索で解けます。 ソースコード #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>…
こんにちは川です。 今回は、深さ優先探索で解けます。 下ー>右ー>上ー>左の順で動いています。 ソースコード #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>…
こんにちは川です。 今回は、特に解説はないです。 ソースコード #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>
こんにちは川です。 今回は、与えられた数を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>…
こんにちは川です。 今回は問題文に与えられた通りに計算しないと誤差?で通らない? とにかく問題文に与えられた通りに計算すれば通ります。 自分は痛い目みました ソースコード #include <bits/stdc++.h> using namespace std; int main() { double n,m,s; while(cin>>n>></bits/stdc++.h>…
こんにちは川です。 今回は、パリミュチュエル方式の理解に苦しみました。 パリミュチュエル方式についてのリンクは下に貼ります。 単純な計算するだけなので解説はないです。 パリミュチュエル方式 - Wikipedia ソースコード #include <bits/stdc++.h> using namespace std</bits/stdc++.h>…
こんにちは川です。 今回は、ただ貪欲に解いていきました。 ソースコード #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>…
こんにちは川です。 今回は、日にちごとに参加できる人を加算します。 その結果から参加できるひとが多い日で早く集まれる日を探してます。 ソースコード #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>…
こんにちは川です。 今回は、間に合いそうだったので、貪欲に確かめていっています。 ソースコード #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>…
こんにちは川です。 今回は、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>…
こんにちは川です。 今回は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>…
こんにちは川です。 今回は、右手のタイプする箇所を基準としてカウントしていきました。 ソースコード #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>…
こんにちは川です。 今回は、問題文に与えられた式を使って計算しただけなので特に解説はないです。 ソースコード #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>…
こんにちは川です。 今回は、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>…
こんにちは川です。 今回は、数を減算して、貪欲に確かめていっています。 ソースコード #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>…
こんにちは川です。 今回は、ただ計算しただけなので解説は特に無いです。 ソースコード #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>…
こんにちは川です。 今回は、場所をbool型で持ちます。宝石の場所はtrueとします。 もし通ったときにtrueだったら宝石の数を減算し、 最終的に宝石の数が0なったら"Yes"を出力します。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n; wh</bits/stdc++.h>…
こんにちは川です。 今回は、ただゲームのステップを書いただけです。 ソースコード #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>…
こんにちは川です。 今回は、カードの情報を文字列で持ち、それを加算を駆使してシャッフルをしました。 ソースコード #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>…
こんにちは川です。 今回は、総和から最小値と最大値を引いて平均を出しただけです。 ソースコード #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>…
こんにちは川です。 今回は、先に風力を判定し、方位を確定させました。 理由は風力が0の時、方位が特別な向き'C'が与えられるからです。 特に難しくはないです。 ソースコード #include <bits/stdc++.h> using namespace std; int main(){ double deg,dis; cin>>deg>>dis;</bits/stdc++.h>…
こんにちは川です。 今回も特に解説はないです。 ソースコード #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>…
こんにちは川です。 AtCoder Beginner Contest を今回から少しずつ解いていこう思います。 今回は解説はないです。 ソースコード #include <bits/stdc++.h> using namespace std; int main() { int n,m; cin>>n>>m; cout<</bits/stdc++.h>