2017-5-19-Train:2017年浙江理工大学程序设计竞赛校赛

Problem A: 回文(签到题)

Description

小王想知道一个字符串是否为ABA’型字符串。ABA’型字符串的定义:S=ABA’,A,B,A’都是原字符串的子串(不能是空串),A’的意思是A的反转串,B不一定要和A或A’不同。符合ABA’型的例如:"aba”,"acbbca”,"abcefgcba”等。"Abcefgcba”是ABA’型,因为它能找到一组对应的A("abc”),B(”efg”)和A’("cba")满足定义。

Input

第一行给测试总数T(T <= 1000),接下来有T组测试数据。

每组测试数据有一行字符串S(1 <= |S| <= 50000),字符串保证只有小写或大写英文字母。

Output

每组测试数据输出一行,如果S是ABA’型字符串,输出"YES”,否则输出"NO"。

Sample Input

5
abA
gg
Codeforces
acmermca
myacm

Sample Output

NO
NO
NO
YES
YES

Solve:

直接判断字符串长度是否大于3并且首尾字符相等,否则就不是

Code:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 static const int MAXN = 5e4 + 10;
 4
 5 int main()
 6 {
 7     int t;
 8     scanf("%d" , &t);
 9     while(t--)
10     {
11         char data[MAXN] = {‘\0‘};
12         scanf(" %s" , data);
13         int si = strlen(data);
14         if(si <= 2 || data[0] != data[si - 1])
15             puts("NO");
16         else
17             puts("YES");
18     }
19 }

Problem D: 买iphoneTime(数学、中途相遇法)

Description

自从上次仓鼠中了1000万彩票后,彻底变成了土豪了,一群人愿意认他做干爹,仓鼠决定送他的干儿子每人一部iphone。仓鼠今天带了一群人去买iphone,每个人身上都背着一个大背包,只有3种背包,分别能装a,b,c个iphone,仓鼠希望每个人都能用iphone装满自己的背包。仓鼠有n个干儿子,也就是要买n部手机,仓鼠带了k个人去买手机,问是否存在一种情况能让每个买iphone的人的背包都装满

Input

输入包含多组测试数据,每组一行,包含5个整数n, k, a, b, c

(1 <= n, k , a, b, c <= 10000)

abc可以相同

Output

如果存在输出Yes,否则输出No

Sample Input

10 3 3 3 4
20 7 1 1 1
80 3 100 3 3
15 4 3 5 6

Sample Output

Yes
No
No
Yes

HINT

样例一3个人分别带大小为 3 3 4的背包去买手机正好每个人都装满

样例二 很明显只有一种背包,全部都是1也无法买20部iphone

样例四 4个人分别带大小为 3 3 3 6的背包去买手机正好每个人都装满

Code:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int n , k , a , b , c;
 4 int main()
 5 {
 6     while(~scanf("%d" , &n))
 7     {
 8         bool flag = 0;
 9         scanf("%d%d%d%d" , &k , &a , &b , &c);
10         for(int x = 0 ; x <= k ; ++x)
11         {
12             for(int y = 0 ; k - y - x >= 0 ; ++y)
13             {
14                 int z = k - x - y;
15                 if(x * a + y * b + z * c == n)
16                 {
17                     puts("Yes");
18                     flag = 1;
19                     break;
20                 }
21             }
22             if(flag)
23                 break;
24         }
25
26         if(!flag)
27             puts("No");
28     }
29 }

时间: 2024-12-29 06:52:06

2017-5-19-Train:2017年浙江理工大学程序设计竞赛校赛的相关文章

2015年浙江理工大学程序设计竞赛

做了两题 Problem D: 逻辑运算 Description 还记得大学里学过的模电么,今天就让我们将与或非变成一道题吧. 给你一个与或非的表达式,求出这个表达式的值,表达式总共有八种字符. 三种逻辑运算符按照优先级排列如下. ‘!’:表示取反. ‘&’:逻辑与. ‘|’:逻辑或. 两个字符‘T’,‘F‘分别表示true和 false. 另外还有左右括号,空格三种字符.跟一般的表达式一样,括号可以改变优先级. Input 每组数据输入一行字符串,字符串长度小于等于100. Output 输出

浙江理工大学2016年新生赛 暨全国新生邀请赛

Problem A: Save the Princess Time Limit: 1 Sec  Memory Limit: 128 MB Description Once upon time there was a cute princess called JWliving in a castle. One day, the princess had been kidnapped by the robbers. The prince called BHbecame worried, he wan

2017西安电子科技大学第十五届“华为杯”大学生程序设计竞赛网络赛

问题 B: 笑爷买房 时间限制: 1 Sec  内存限制: 128 MB提交: 456  解决: 116[提交][状态][讨论版] 题目描述 笑爷打算在北京三环买一套房. 现在笑爷手上有一些房源的户型图,她想知道每套房屋的室内面积是多少.房屋的墙壁由'#'表示,一平方米的地面由一个'*'表示.请统计被墙壁包围住的地面面积是多少平方米. 输入 一个由#和*组成的字符矩阵,行列数均不超过50.(不一定是矩形) 输出 输出房屋有多少平方米并换行. 样例输入 #*####### ##******# *#

[2017.5.29]备忘 买书 挑战程序设计竞赛

http://product.dangdang.com/23272528.html?_utm_sem_id=231367&_ddclickunion=422-kw-4-%CD%BC%CA%E9-%CA%E9%C3%FB%B4%CA_%BC%C6%CB%E3%BB%FA%2F%CD%F8%C2%E7-4_%CC%F4%D5%BD%B3%CC%D0%F2%C9%E8%BC%C6%BE%BA%C8%FC|ad_type=0|sys_id=1

ACM-南京理工大学第八届程序设计竞赛-网络赛(2016.04.17)

A.偷吃糖果Time Limit: 1000Ms Memory Limit: 65536KB Description小鱼喜欢吃糖果.他有两盒糖果,两盒糖果分别仅由小写字母组成的字符串s和字符串t构成.其中'a'到'z'表示具体的某种糖果类别.他原本打算送给他喜欢的女生,但是要送给女孩子的话两盒糖果不能有差别(即字符串s和t完全相同).所以,他决定偷吃几块,他吃糖果的策略是每次选出一盒糖果中两个连续的同种类别的糖果,然后吃掉其中一块.该策略可以使用多次.例如一盒糖果是'rrrjj',他可以把这盒糖

C 六学家的困惑 【YY】 (2019年华南理工大学程序设计竞赛(春季赛))

冲鸭,去刷题:https://ac.nowcoder.com/acm/contest/625/C 小六喜欢两全其美的事情,今天就正好有一个这样的机会. 小六面前有两根管子,管子里面放满了数字为1到9的小球.每次取球时,小六会先选择一根管子,再从这根管子的某一侧(左侧或右侧)取出一个球.在满足取球规则的情况下,他可以任意顺序取出所有小球.假如小六依次取出的球的编号为a1,a2,?,ana1,a2,?,an,则他最后就得到了一个形如¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯a1a2?ana1a

"新生赛"长沙理工大学程序设计竞赛

B.happy card 列出所有条件:人数 n,总的快乐牌 num,限制手牌 m 我们可以 DP 的是:前 i 个人在总牌数为 j 的情况下,第 i个人拿 k 张牌的最大幸福值.想想似乎和01背包有点儿类似,那么状态转移方程也就不难写出来了: dp?[i][j]=max?(dp?[i−1][j−k]+h[k],dp?[i-1][j]) 当然我们的第一维其实可以直接滚动掉的.. 其实算法还可以再进行时间的优化,将其化为 n^2 算法. 实际上人数是一个无用条件,我们知道总的快乐牌数,那么人数一定

2018华南理工大学程序设计竞赛 H-对称与反对称

H-对称与反对称 题目描述 给出一个N*N的方阵A.构造方阵B,C: 使得A = B + C.其中 B为对称矩阵,C为反对称矩阵. 对于方阵S中的任意元素,若(S)ij = (S)ji,则称S为对称矩阵 对于方阵T中的任意元素,若(T)ij = -(T)ji,则称T为反对称矩阵 注意,所有运算在模M意义下 输入描述: 输入包含多组数据,处理到文件结束每组数据,第一行包含两个正整数N,M(1 <= N <= 1000, 1 <= M <= 1000,000,001)分别表示方阵大小与

2019年华南理工大学程序设计竞赛(春季赛)A NB群友

https://ac.nowcoder.com/acm/contest/625/A 题意:给出一个区间范围 , 求有多少个数的每一位的积是在这个区间里面的 分析:没错了 ,就是记忆化暴力搜索 ,不断的枚举除 i ,i是2到9 , 看是否合法 ,  对于枚举到相同的状态的时候 , 后面的价值肯定和上一个状态是一样的 , 所以这样就好拉 #include<bits/stdc++.h> using namespace std; #define ll long long map<ll , ll