やるだけ
joi予選の問題。解法:ソートのみ一見難しそうに見えるが読んでみると解法が顕著で簡単な問題。(sortのgreater<int>()って#include <iostream>必要だったんですね。。。) #include <cstdio> #include <algorithm> #include <iostream> using namespace std; int main(){ int n,a,b,c,d[</iostream></algorithm></cstdio>…
問題文解法:DP(上の二つのやつのでかいほうを足していくだけ) #include <cstdio> #include <algorithm> using namespace std; int main(){ int n; int t[102][102] = {0}; int dp[102][102] = {0}; scanf("%d",&n); for(int i = 1;i <= n;i++){ for(int j = 1;j <= i;j++){ sca</algorithm></cstdio>…
やるだけ #include <cstdio> #include <iostream> #include <algorithm> #include <vector> using namespace std; class Rounder{ public: int round(int n, int b){ int ans = 0; int flag = 0; int nau = 0; int sa = n; while(flag <= 2){ nau += b; if(sa >= abs(n-nau)){ sa = abs(n-nau); an</vector></algorithm></iostream></cstdio>…
とりあえず二問。AOJ0595非常に汚い #include <cstdio> using namespace std; int main(){ int n; char s[1003]; int dp[1003][8] = {0}; scanf("%d",&n); scanf("%s",&s); if(s[0] == 'J'){ dp[1][0] = 1; dp[1][3] = 1; dp[1][5] = 1; dp[1][6] = 1; }else if(s[0]</cstdio>…
やるだけ解法:典型的なソートかわいい犬がみかんを食べる問題JOI予選の二問目あたりに出そうな問題。 近年競争率上がってるから一問目かも。 #include <cstdio> #include <iostream> #include <algorithm> #include <vector> using namespace std; class MiniatureDachshund{ public: int maxMika</vector></algorithm></iostream></cstdio>…
問題文👈やるだけ。英語理解できません。とりあえずめんどいからiostreamを使ってしまう悪い癖 #include <cstdio> #include <iostream> using namespace std; int main(){ int n,a,b; int da[102] = {0}; int db[102] = {0}; scanf("%d%d%d",&n,&a,&b); for(int i = 0;i < a;i++)</iostream></cstdio>…
AOJ0173やるだけ #include <cstdio> #include <iostream> using namespace std; int main(){ char s[17]; int a,b; for (int i = 0;i < 9;i++){ cin >> s >> a >> b; cout << s << " "; cout << a + b << " "; cout << a * 200 + b * 300 << endl; } return 0; } AOJ0174yaruda</iostream></cstdio>…
やるだけつらい #include <cstdio> using namespace std; int main(){ while(1){ int n; bool t[203],h[203]; scanf("%d",&n); if(n == 0) break; for(int i = 0;i <= n*2;i++){ t[i] = false; h[i] = false; } for(int i = 1;i <= n;i++){ int tmp; scanf("%d",&tmp</cstdio>…
問題文が中国語⇒英語でさえ読めないのに中国語とかむり。なんとか推測して頑張りました。DPの問題解きたいと思って、簡単そうなのを見つけたのがこれだったが、これはDPと言えるのか❓??えーと計算量は、O(シラン)ぐらいです(かなり適当なオーダー)なんか…
ねむい。 #include <cstdio> #include <iostream> #include <cstring> using namespace std; int main(){ while(1){ int n; int ans = 1; int s[7] = {0,1,2,3,4,5,6}; scanf("%d",&n); if(n == 0) break; for(int i = 0;i < n;i++){ char sai[10]; cin >> sai; int t1=s[1],t2=s[2],t3=</cstring></iostream></cstdio>…
Nの範囲が記述されていないから、ちょっとダメな問題ではないか…まあいいや。 map使いたかったけどキーをcahrにしたら闇になるから闇。実行速度の関係から、あんまりiostream系を使うのはよくないと思います。 #include <iostream> using namespace std; int main(){ w</iostream>…
なんとか通りました。つかれた。問題文はこちら世界スパッゲッティソース大会で決勝にいけそうなソースです。joi本選の練習も兼ねて、mapとかvectorとかqueueとかpairとかいろんなの使ってみました。 なのでとても複雑になってしまった。。。実行時間もそこ…
問題分は「AOJ 0541」とでもググってください。 DPでやりました。 N-1回目までの散歩でそれぞれ何回その場所に通るか回数をdpに入れていき、その合計が偶数なら何もしない、奇数なら「南」「東」を反転させ、N回目をシミュレーションしていき感じです。 おそ…
問題はこちらなんかいろいろめんどくさかった。 メモリに気をつけよう(節約しました 細かいとこばぐんないようにしよう。 あとは気合 ソースとても汚いけどまわりと比較して実行時間そこまで遅くないので吉としよう。 #include <cstdio> #include <algorithm> #include <string.h> using </string.h></algorithm></cstdio>…
問題文はこちら。 瞬殺問題。 二分探索地味に初めてでした。 一発ACはたのしい。 #include <cstdio> #include <algorithm> #include <vector> using namespace std; int main(){ while(1){ long int d = 0; long int n = 0; int m = 0; long int ans = 0; vector<long> dat; vector<long>::iterator </long></long></vector></algorithm></cstdio>…
どう見ても解法わるい #include <cstdio> #include <algorithm> using namespace std; int alen = 0,blen = 0; short ans = 0; short a[5003] = {0}; short b[5003] = {0}; short dp[5003][5003] = {0}; int main(){ scanf("%d %d ",&alen,&blen); for(int i = 0;i < alen;i++){</algorithm></cstdio>…
問題文はこちら。たぶんやるだけ。もっともっといい解法がある気が... そーす汚すぎて何も言えないです。 #include <cstdio> using namespace std; int n = 0,m = 0; long k = 0; char tizu[1003][1003]; int dp[1003][1003][3] = {0}; int func(char sss){ int r = </cstdio>…
問題文はこちら 長年頭の中では解けていたけど、実装していなかった問題。解けて頭がすっきりした。 解説の効率のよい解法で計算量がO(n^2 log n)と書いていたのをみて、「これはO(n^2/2)でいけるのでは」と思って実装してみた。やるだけでとてもかんたんだ…
はい。おそらく誰でも解けるでしょう。 問題文はこちら。 #include <cstdio> #include <algorithm> #include <cstring> using namespace std; long n = 0; char s[1000003]; long int ans = 0; int main(){ scanf("%s",s); n = strlen(s); for(long i = 0;i < n;i++){ if(s[i] != 'J'){ c</cstring></algorithm></cstdio>…