アルゴリズムとデータ構造
No.3 ビットすごろく - yukicoder を解きました。 #include <bits/stdc++.h> using namespace std; struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; const int INF = numeric_limits<int>::max(); int f( int N ) { int count{}; while( N > 0 ) { if( N % 2 =</int></bits/stdc++.h>…
#include <bits/stdc++.h> using namespace std; //再帰 - トリボナッチ int trib( int N ) { if( N == 0 || N == 1 )//基底部 { return 0; } else if( N == 2 )//基底部 { return 1; } else //再帰部 { return trib( N - 1 ) + trib( N - 2 ) + trib( N - 3 ); } } int mai</bits/stdc++.h>…
#include <bits/stdc++.h> using namespace std; //再帰 - フィボナッチ int fib( int N ) { if( N == 0 )//基底部 { return 0; } else if( N == 1 )//基底部 { return 1; } else //再帰部 { return ( fib( N - 2 ) + fib( N - 1 ) ); } } int main() { cin.tie(0); ios::sy</bits/stdc++.h>…
#include <bits/stdc++.h> using namespace std; //再帰 - 階乗 int sum( int N ) { if( N == 0 ) //基底部 { return 1; } else //再帰部 { return N * sum( N - 1 ); } } int main() { cin.tie(0); ios::sync_with_stdio(false); int N; cin >> N; cout << sum( N ) << end</bits/stdc++.h>…
#include <bits/stdc++.h> using namespace std; int sum( int N ) { if( N == 0 ) //基底部 { return 0; } else //再帰部 { return sum( N - 1 ) + 1; } } int main() { cin.tie(0); ios::sync_with_stdio(false); int n; cin >> n; cout << sum(n) << endl; return 0; } </bits/stdc++.h>…
アルゴリズムとデータ構造 第6章−1「再帰と分割統治法」で階乗コードを書きました。 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #define REP(i,n) for(int i=0; i<(n); i++) #define REP2(i,x,n) for(int i=x; i<(n); i++) using names</bits/stdc++.h>…
アルゴリズムとデータ構造の本に沿った問題の 探索 2 | アルゴリズムとデータ構造 | Aizu Online Judgeを解きました。 #include <bits/stdc++.h> using namespace std; //二分探索 int main(){ int N; cin >> N; vector<int> vc(N); for( auto&& x : vc ){ cin >> x; } sort(vc.b</int></bits/stdc++.h>…
アルゴリズムとデータ構造の本に沿った問題の 探索 1 | アルゴリズムとデータ構造 | Aizu Online Judge を解きました。 #include <bits/stdc++.h> using namespace std; int main (){ cin.tie(0); ios::sync_with_stdio(false); int N; cin >> N; vector<int> vc1(N); for( auto&</int></bits/stdc++.h>…