ACM-南京理工大学第八届程序设计竞赛-网络赛(2016.04.17)
A、偷吃糖果
Time Limit: 1000Ms
Memory Limit: 65536KB
Description
小鱼喜欢吃糖果。他有两盒糖果,两盒糖果分别仅由小写字母组成的字符串s和字符串t构成。其中'a'到'z'表示具体的某种糖果类别。
他原本打算送给他喜欢的女生,但是要送给女孩子的话两盒糖果不能有差别(即字符串s和t完全相同)。所以,他决定偷吃几块,他吃糖果的策略是每次选出一盒糖果中两个连续的同种类别的糖果,然后吃掉其中一块。该策略可以使用多次。
例如一盒糖果是'rrrjj',他可以把这盒糖果变成'rrjj'或者'rrrj'。现在你要告诉小鱼,经过他多次偷吃糖果之后,两盒糖果能否送给他喜欢的女孩子。如果可以输出'Yes',如果不行输出'No'。
Input
第一行一个T,表示T组测试数据。每组测试数据格式如下。
第一行表示字符串s,第二行表示字符串t。
1 ≤ T ≤ 100
Each character of s, t will be between 'a' and 'z'.
1 ≤ length of string s ≤ 1000
1 ≤ length of string t ≤ 1000
Output
对于每组测试数据,输出Yes,或者No。
Sample Input
2
rrrjj
rrrj
rj
jr
Sample Output
Yes
No
Hint
题目中的第一个样例:
第一盒糖果:rrrjj -> rrjj -> rjj -> rj
第二盒糖果:rrrj -> rrj -> rj
分析:咋一看以为是字符串匹配,后来题意理解错了,然后开始从新写,看这句话“两个连续的同种类别的糖果”
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
char a[], b[], a1[], b1[],c;
int i1,i, j, t, n; scanf("%d", &t);
c = getchar();
for (i1 = ;i1 < t;i1++)
{
gets(a);
gets(b);
j = ;
for (i = ;a[i] != '\0';i++)
{
if (a[i] != a[i - ])
{
a1[j] = a[i - ];
j++;
}
}
a1[j] = a[i - ];
j++;
a1[j] = '\0';
j = ;
for (i = ;b[i] != '\0';i++)
{
if (b[i] != b[i - ])
{
b1[j] = b[i - ];
j++;
}
}
b1[j] = b[i - ];
j++;
b1[j] = '\0';
if (strcmp(a1, b1) == )
printf("Yes\n");
else
printf("No\n");
}
}
H、谁才是最强战舰!
Time Limit: 1000MS
Memory Limit: 65536KB
Description
依阿华来到镇守府的第一件事情,就是找大和solo!
然而这并不是什么好消息,说不定,镇守府,甚至佐伯湾就这么消失了。。。
于是,提督君想了一个简单的游戏,来分出她们的胜负。游戏规则如下:这里有N堆石子,每堆石子有a[i](1<=i<=N)个,每人轮流从其中的某一堆石子中拿出任意个石子(只能在其中一堆拿,不能不拿),大和先手,谁拿出了最后一个石子,谁输。若大和必胜,输出“Yamato_Saikou!”,若依阿华必胜,输出“Meidikeji_Shijiediyi!”,若两边都无法必胜,输出“Sayonara_Konosekai!”.
Input
第一行输入一个正整数T(1 <= T <= 1000),表示有T组测试数据。
对于每组测试数据:
第一行一个正整数,N(N<=1000),表示有N堆石子。
第二行N个整数a[i](1<=a[i]<=1000),表示每堆石子的数量。
Output
若大和必胜,输出“Yamato_Saikou!”,若依阿华必胜,输出“Meidikeji_Shijiediyi!”,若两边都无法必胜,输出“Sayonara_Konosekai!”.
Sample Input
3
1
5
2
1 2
3
1 1 1
Sample Output
Yamato_Saikou!
Yamato_Saikou!
Meidikeji_Shijiediyi!
思路:anti-nim博弈,题目给出这句话,自己感觉蒙圈了,好像没有用到
#include<stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,s=,m,c=;
scanf("%d",&n);
m=n;
while(n--)
{
int num;
scanf("%d",&num);
s^=num;
if(num>)
c++;
}
if(!s&&!c||(s&&c))
printf("Yamato_Saikou!\n");
else
printf("Meidikeji_Shijiediyi!\n");
}
}
C、count_prime
Time Limit: 1000ms
Memory Limit: 65536KB
Description
给定你一个数n,请你统计出在[a,b]这个区间中和n互质的数的个数。
两个数互质当且仅当他们除了1之外没有其他的公共因子或者他们最大的公共因子是1。1和任何数是互素的。
Input
第一行输入一个整数T(1 <= T <= 100),表示T组测试数据。
接下来T行,每行3个整数a,b,n(1 <= a <=b <=10^15, 1<= n <= 10^9),用空格隔开。
Output
输出一个整数表示和n互质的数的个数。
Sample Input
2
1 10 2
3 10 5
Sample Output
5
6
灰灰做的:思路是容斥原理
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define LL long long
#define maxn 70 LL prime[maxn];
LL make_ans(LL num,int m)
{
LL ans=,tmp,i,j,flag;
for(i=;i<(LL)(<<m);i++)
{
tmp=,flag=;
for(j=;j<m;j++)
if(i&((LL)(<<j)))
flag++,tmp*=prime[j];
if(flag&)//容斥原理
ans+=num/tmp;
else
ans-=num/tmp;
}
return ans;
} int main()
{
int T,t=,m;
LL n,a,b,i;
scanf("%d",&T);
while(T--)
{
scanf("%I64d%I64d%I64d",&a,&b,&n);
m=;
for(i=;i*i<=n;i++)
if(n&&n%i==)
{
prime[m++]=i;
while(n&&n%i==)
n/=i;
}
if(n>)
prime[m++]=n;
printf("%I64d\n",(b-make_ans(b,m))-(a--make_ans(a-,m)));
}
return ;
}
一共做出5题,未完待续。。。。。。。
ACM-南京理工大学第八届程序设计竞赛-网络赛(2016.04.17)的更多相关文章
- 哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(高年级) Solution
A: Solved. 分别处理出每个%7后余数的数字个数,再组合一下 #include <bits/stdc++.h> using namespace std; #define ll lo ...
- 2018CCPC 中国大学生程序设计竞赛 网络赛
链接 1.括号序列贪心/CF&51nod原题 [分析]: 贪心,每次到i的时候,假如你要在i里面要卖掉股票,获益是a[i], 肯定要在前面要么:1)把已经卖了的变成不买不卖,需要-a[j], ...
- 谁才是最强战舰!-From 南京理工大学第八届程序设计大赛(校外镜像),博弈~~
谁才是最强战舰! Time Limit: 1000MS Memory Limit: 65536KB Description 依阿华来到镇守府的第一件事情,就是找大和solo!然而这并不是什么好消息,说 ...
- ACM-东北大学程序设计竞赛-网络赛(2016.04.16)
Problem: A Time limit: 1s Mem limit: 64 MB AC/Submission: 0/0 Discuss Back Ranklist Stat ...
- 【数论&想法题】小C的问题 @"科林明伦杯"哈尔滨理工大学第八届程序设计竞赛
Time Limit: 1000 MS Memory Limit: 256000 K Description 小C是一个可爱的女孩,她特别喜欢世界上最稳定的图形:三角形.有一天她得到了n根木棍,她把这 ...
- "科林明伦杯"哈尔滨理工大学第八届程序设计竞赛 题解
题目链接 Problems Problem A 快速幂累加即可. #include <cstdio> #include <cstring> #include <iost ...
- 2018中国大学生程序设计竞赛 - 网络选拔赛 1001 - Buy and Resell 【优先队列维护最小堆+贪心】
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6438 Buy and Resell Time Limit: 2000/1000 MS (Java/O ...
- 2018中国大学生程序设计竞赛 - 网络选拔赛 1010 YJJ's Salesman 【离散化+树状数组维护区间最大值】
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6447 YJJ's Salesman Time Limit: 4000/2000 MS (Java/O ...
- HDU 6154 CaoHaha's staff(2017中国大学生程序设计竞赛 - 网络选拔赛)
题目代号:HDU 6154 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6154 CaoHaha's staff Time Limit: 2000/1 ...
随机推荐
- python学习笔记--基础概要
1.python的int类型没有大小限制(或者说只受机器内存限制),str类型用单引号或者双引号都行,只要对称就可以了.(注意固定性) 2.使用[]表示存取字符串等序列的某一项(索引从0开始) 3.类 ...
- JSP实现在项目在网页上查询
<table> <caption>user</caption> <tr> <td>编号</td> <td>姓名< ...
- mongoose 和 mongoDB
第三方学习地址:http://blog.csdn.net/foruok/article/details/47746057 下载mongoDB https://www.mongodb.com/downl ...
- 一步步学习javascript基础篇(1):基本概念
一.数据类型 数据类型 基本数据类型(五种) Undefined Null Boolean Number String 复杂数据类型(一种) Object Undefined:只有一个值undefin ...
- [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux)
[.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux) 1.关于跨平台 上篇中介绍了MVC的发展历程,说到ASP.NET ...
- php性能优化
序 很长时间没有写博文了,最近换了工作,长时间加班,根本没有时间做其他事情!今天闲下来了,想一想php性能方面的事情.这也是我2014年的第一篇博文! 推荐阅读:初学者到中级者应该掌握的! p ...
- Azure PowerShell (5) 使用Azure PowerShell创建简单的Azure虚拟机和Linux虚拟机
<Windows Azure Platform 系列文章目录> 本文介绍的是国外的Azure Global.如果是国内由世纪互联运维的Azure China,请参考这篇文档: Azure ...
- 使用WCF的Trace与Message Log功能
原创地址:http://www.cnblogs.com/jfzhu/p/4030008.html 转载请注明出处 前面介绍过如何创建一个WCF Service http://www.cnblo ...
- 浅谈android中的目录结构
之前在android游戏开发中就遇到本地数据存储的问题:一般情形之下就将动态数据写入SD中存储,在没有SD卡的手机上就需另作处理了;再有在开发android应用的过程中,总要去调试APP,安装时又想去 ...
- String Aop 动态代理例子
动态代理原理:spring AOP采用动态代理来实现 (1)定义一个接口Boy package aop001; public interface Boy { public void beat(Stri ...