题目链接:http://codeforces.com/contest/1058/problem/A
A. In Search of an Easy Problem
题意:输入n个01数表示对一个问题的评价简单还是困难,0代表简单,1代表困难,如果所有人都觉得简单就输出easy,否则输出hard,大水题...
AC代码:
略
题目链接:http://codeforces.com/contest/1058/problem/B
B. Vasya and Cornfield
题意:输入n和d,表示四个坐标为(0,d),(d,0),(n,n-d),(n-d,n),这四个坐标围成一个矩形区域,然后输入m个点,询问这m个点是否在这个区域内(包括边界)
思路:求出四条边的方程,然后代入判断一下就好了。
AC代码:
略
题目链接:http://codeforces.com/contest/1058/problem/C
C. Vasya and Golden Ticket
题意:输入长度为n的一个数,然后将其分割,使其所分的区域的每一个数相加的和相等,如果可以分的话就输出YES,否则为NO,如样例350178就可以分成三部分3+5,0+1+7,8,三部分的和都为8。
思路:因为数据范围不大,所以直接暴力就好了,直接看代码吧,不难理解。
AC代码:
#include <bits/stdc++.h> #define maxn 105 using namespace std; int n; int pre[maxn]; string str; int main() { scanf("%d",&n); cin>>str; int len = str.length(); int num = 0; for(int i=0;i<n;i++){ if(str[i] != '0'){ pre[++num] = str[i] - '0'; } } if(num == 0){ puts("YES"); return 0; } n = num; int ans = 0; bool flag1 = false; for(int i=1;i<=n;i++){ ans += pre[i]; int x = 0,flag = 0; for(int j=i+1;j<=n;j++){ x += pre[j]; if(x > ans)break; if(x == ans){ x = 0; if(j == n)flag = 1; } } if(flag){ puts("YES"); flag1 = true; break; } } if(flag1 == false){ puts("NO"); } return 0; }
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句