Codeforces Round #306 (Div. 2)

来源:互联网 发布:苏霍伊和米高扬知乎 编辑:程序博客网 时间:2024/05/01 15:27


题目传送:Codeforces Round #306 (Div. 2)


这次打的很差,有点累,先贴个代码吧。。


A - Two Substrings

#include <map>#include <set>#include <cmath>#include <deque>#include <queue>#include <stack>#include <cstdio>#include <cctype>#include <string>#include <vector>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>#define LL long long#define INF 0x7fffffffusing namespace std;char s[100005];int main() {scanf("%s", s);int len = strlen(s);bool ok = false;for(int i = 0; i < len - 1; i ++) {if(s[i] == 'A' && s[i + 1] == 'B') {for(int j = i + 2; j < len - 1; j ++) {if(s[j] == 'B' && s[j + 1] == 'A') {ok = true;}}break;}}for(int i = 0; i < len - 1; i ++) {if(s[i] == 'B' && s[i + 1] == 'A') {for(int j = i + 2; j < len - 1; j ++) {if(s[j] == 'A' && s[j + 1] == 'B') {ok = true;}}break;}}if(ok) puts("YES");else puts("NO");return 0;}






B - Preparing Olympiad

#include <map>#include <set>#include <cmath>#include <deque>#include <queue>#include <stack>#include <cstdio>#include <cctype>#include <string>#include <vector>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>#define LL long long#define INF 0x7fffffffusing namespace std;int ans;int n, l, r, x;int a[105];void dfs(int cur, int p, int Max, int Min, int flag, int cnt) {if(cnt >= 2) {if(flag == 1 && p >= l && p <= r && Max != 0 && Max - Min >= x) {ans ++;//cout << Max << " " << Min << endl;//cout << p << " " << cur << endl;}}if(cur >= n) {return ;}dfs(cur + 1, p + a[cur], max(Max, a[cur]), min(Min, a[cur]), 1, cnt + 1);dfs(cur + 1, p, Max, Min, 0, cnt);}int main() {ans = 0;scanf("%d %d %d %d", &n, &l, &r, &x);if(n == 1) {printf("0\n");return 0;}//cout << l << " " << r << endl;for(int i = 0; i < n; i ++) {scanf("%d", &a[i]);}dfs(0, 0, 0, INF, 0, 0);printf("%d\n", ans);return 0;}






C - Divisibility by Eight

#include <map>#include <set>#include <cmath>#include <deque>#include <queue>#include <stack>#include <cstdio>#include <cctype>#include <string>#include <vector>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>#define LL long long#define INF 0x7fffffffusing namespace std;char s[1005];int main() {scanf("%s", s);int len = strlen(s);for(int i = 0; i < len; i ++) {if((s[i] - '0') % 8 == 0) {printf("YES\n%d\n", s[i] - '0');return 0;}}for(int i = 0; i < len; i ++) {for(int j = i + 1; j < len; j ++) {int t = (s[i] - '0') * 10 + s[j] - '0';if(t % 8 == 0) {printf("YES\n%d\n", t);return 0;}}}for(int i = 0; i < len; i ++) {for(int j = i + 1; j < len; j ++) {for(int k = j + 1; k < len; k ++) {int t = (s[i] - '0') * 100 + (s[j] - '0') * 10 + s[k] - '0';if(t % 8 == 0) {printf("YES\n%d\n", t);return 0;}}}}printf("NO\n");return 0;}
















0 0
原创粉丝点击