Codeforces Round #313 (Div. 2) A B C D
来源:互联网 发布:mac os x 10.12懒人版 编辑:程序博客网 时间:2024/05/30 23:06
A - Currency System in Geraldion 用n个不同整数求最小不能组合出来的正整数,没有输出-1.看似背包- -其实判断有没有1就行了。
const int N = 100100;int a[N];int main(){ int n; while( ~scanf("%d", &n) ) { int minn = inf; for( int i = 1; i <= n; ++i ) { scanf("%d", &a[i]); minn = min( minn, a[i] ); } if( minn == 1 ) printf("-1\n"); else printf("1\n"); } return 0;}B - Gerald is into Art 问两个矩阵能不能放在一个大矩阵里面,且不重叠。暴力判断各种情况即可
#include <map>#include <set>#include <queue>#include <stack>#include <cmath>#include <time.h>#include <vector>#include <cstdio>#include <string>#include <iomanip>///cout << fixed << setprecision(13) << (double) x << endl;#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define lson l, mid, rt << 1#define rson mid + 1, r, rt << 1 | 1#define ls rt << 1#define rs rt << 1 | 1#define pi acos(-1.0)#define eps 1e-8#define Mp(a, b) make_pair(a, b)#define asd puts("asdasdasdasdasdf");typedef long long ll;//typedef __int64 LL;const int inf = 0x3f3f3f3f;const int N = 100100;int l1, l2, l3;int r1, r2, r3;int main(){ while( cin >> l1 >> r1 >> l2 >> r2 >>l3 >> r3 ) { bool f = 0; if( l1 >= l2+l3 && r1 >= max( r2, r3 ) ) f = 1; if( l1 >= l2+r3 && r1 >= max( l3, r2 ) ) f = 1; if( l1 >= r2+r3 && r1 >= max( l2, l3 ) ) f = 1; if( l1 >= l3+r2 && r1 >= max( l2, r3 ) ) f = 1; if( r1 >= l2+l3 && l1 >= max( r2, r3 ) ) f = 1; if( r1 >= l2+r3 && l1 >= max( l3, r2 ) ) f = 1; if( r1 >= r2+r3 && l1 >= max( l2, l3 ) ) f = 1; if( r1 >= l3+r2 && l1 >= max( l2, r3 ) ) f = 1; if( f ) cout << "YES" << endl; else cout << "NO" << endl; } return 0;}
C - Gerald's Hexagon 问给出的六边形里面有多少边长1的正三角形。先补全六边形为一个大的正三角形,然后减去补全部分的三角形即可
#include <map>#include <set>#include <queue>#include <stack>#include <cmath>#include <time.h>#include <vector>#include <cstdio>#include <string>#include <iomanip>///cout << fixed << setprecision(13) << (double) x << endl;#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define lson l, mid, rt << 1#define rson mid + 1, r, rt << 1 | 1#define ls rt << 1#define rs rt << 1 | 1#define pi acos(-1.0)#define eps 1e-8#define Mp(a, b) make_pair(a, b)#define asd puts("asdasdasdasdasdf");typedef long long ll;//typedef __int64 LL;const int inf = 0x3f3f3f3f;const int N = 100100;int main(){ int q, w, e, r, t, y; while( cin >> q >> w >> e >> r >> t >> y ) { int n = q + w + e; int ans = n * n - q * q - e*e - t*t; cout << ans << endl; } return 0;}
D - Equivalent Strings 给出两个长度相等的字符串,问这两个串是否满足定义上的相等。相等:a = b或a,b分别等分成a1,a2,b1,b2.然后a1 = b1&&a2=b2 || a1 = b2 && a2 = b1
我A的字符串hash跪了 - -然而纯暴力搜索能过。。居然能过
#include <map>#include <set>#include <queue>#include <stack>#include <cmath>#include <time.h>#include <vector>#include <cstdio>#include <string>#include <iomanip>///cout << fixed << setprecision(13) << (double) x << endl;#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define lson l, mid, rt << 1#define rson mid + 1, r, rt << 1 | 1#define ls rt << 1#define rs rt << 1 | 1#define pi acos(-1.0)#define eps 1e-8#define Mp(a, b) make_pair(a, b)#define asd puts("asdasdasdasdasdf");typedef long long ll;//typedef __int64 LL;const int inf = 0x3f3f3f3f;const int N = 200100;char a[N], b[N];int dfs( int l1, int r1, int l2, int r2 ){bool f = 1;for( int i = l1, j = l2; i < r1; ++i, ++j )if( a[i] != b[j] ) {f = 0;break;}if( f )return 1;if( (r1-l1) % 2 )return 0;if( dfs( l1, l1+(r1-l1)/2, l2, l2+(r2-l2)/2 ) && dfs( l1+(r1-l1)/2, r1, l2+(r2-l2)/2, r2 ) )return 1;if( dfs( l1, l1+(r1-l1)/2, l2+(r2-l2)/2, r2 ) && dfs( l1+(r1-l1)/2, r1, l2, l2+(r2-l2)/2 ) )return 1;}int main(){int l1, l2;while( ~scanf("%s%s", a, b) ) {l1 = strlen( a );l2 = strlen( b );int OK = dfs( 0, l1, 0, l2 );if( OK )puts("YES");elseputs("NO");}return 0;}
0 0
- 【Codeforces Round #313 (Div. 2)】A B C D--solutions
- Codeforces Round #313 (Div. 2)(A,B,C,D)
- Codeforces Round #313 (Div. 2) (A、B、C、D)
- Codeforces Round #313 (Div. 2) A B C D
- Codeforces Round #179 (Div. 2)A、B、C、D
- Codeforces Round #186 (Div. 2)A、B、C、D、E
- Codeforces Round #202 (Div. 2) (A、B、C、D)
- Codeforces Round #211 (Div. 2)(A,B,C,D)
- Codeforces Round #220 (Div. 2)(A,B,C,D)
- Codeforces Round #231 (Div. 2)A, B, C, D
- Codeforces Round #258 (Div. 2)-(A,B,C,D,E)
- Codeforces Round #246 (Div. 2) A,B,C,D
- Codeforces Round #261 (Div. 2) A,B,C,D,E
- Codeforces Round #259 (Div. 2) A/B/C/D
- Codeforces Round #257 (Div. 2) A/B/C/D
- Codeforces Round #256 (Div. 2) A/B/C/D
- Codeforces Round #262 (Div. 2)-A,B,C,D
- Codeforces Round #263 (Div. 2) A,B,C,D,E
- BZOJ 1008 越狱
- [leetcode-10]Regular Expression Matching(C)
- 微信登录的文章-二维码网页登录和微信中登录
- 手势简单应用
- 云计算、HANA支撑业务双位数增长
- Codeforces Round #313 (Div. 2) A B C D
- u Calculate e
- Algorithms—25.Reverse Nodes in k-Group
- php字符串
- MyBatis学习系列二:单表查询一
- ShareSdk无法修改Left Right两个Button的颜色问题
- zookeeper会话超时
- .net Event/Delegate Simple Demo
- Myeclipse导出jar文件图片路径问题