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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }
View Code

 

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 }
View Code

 

以上是关于2017-5-19-Train:2017年浙江理工大学程序设计竞赛校赛的主要内容,如果未能解决你的问题,请参考以下文章

2021年浙江理工大学新生赛同步赛

太原理工大学程序设计竞赛团队2022年特大丰收

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

浙江理工大学7月月赛

协助破获27.73亿元骗税案,浙江理工这位计算机教授火了

利用爬虫技术的大数据犯罪法律适用