A 逃出生天
题目描述:
gold学长从昏迷中醒来以后发现自己被困在一个山洞里,他找了很久,终于找到一个门。门上写着:想要逃出去,只有一个办法 你可以选择一个数n,设m=1 * 2 * … * (n-1)。如果m是n的倍数,那么门就会自动打开,否则你就别想出去了。 gold学长内心充满了绝望,他想了一些数,但他不知道这些数能不能保证自己逃出去。你能帮助gold学长逃出生天吗?
输入:
第一行一个数T(T<=1000),表示gold学长想的数的个数 接下来每一行一个数n(2<=n<=1e8),表示gold学长想的数
输出:
每行一个输出 对于每一个数,如果学长能逃出去,则输出“escape”(不含引号),否则输出“trapped”(不含引号)
Input
4
5
6
7
8
output

trapped
escape
trapped
escape
分析: 看题解上的是找规律,TAT ,我还给弄复杂了。我的想法是题意就是求 n | m=(n-1)! . 从算术基本定理角度考虑,我们假设
n = p1^r1 * p2^r2 * p3^r3 ……pn^rn
m= q1^s1 * q2^s2 * q3^s3 …….qm^sm
想要n是m的因子,我们可以认为p1到pn中所有的质因子m中都有, 同时对于n中质因子,m的相同的质因子指数 s >= r 才可以符合题意。

代码
.

#include<bits/stdc++.h>
using namespace std;
#define LL long long
const int MAXN = 1e5 ;bool su[MAXN+2];int prm[MAXN+2],sz=0;
void init(){su[0]=su[1]=1;for(int i=2;i<=MAXN;i++){if(!su[i]) prm[++sz]=i;for(int j=1;j<=sz;j++){LL t=prm[j]*i;if(t>MAXN) break;su[t]=true;if(i%prm[j]==0) break;}}//printf("sz==%d\n",sz);
}
int n,m;
void solve(){bool flag=1; int nn=n;for(int i=1;i<=sz&&(LL)prm[i]*prm[i]<=n;i++) {//puts("==");if(n%prm[i]==0) {int ge=0;//puts("---");while(n%prm[i]==0) { ge++; n/=prm[i];}int cnt=0,m=nn-1;while(m) { cnt+=m/prm[i]; m/=prm[i];  }if(cnt<ge){flag=0;break;}}}if(flag&&n>1&&(nn-1)<n) flag=0;if(flag)  puts("escape") ;else puts("trapped");
}
int main(){int T ; init();scanf("%d",&T);while(T--){scanf("%d",&n);solve();}
return 0;
}

C 我爱数学
题目描述:
viewsetting特别喜欢数学,但是他算除法的时候特别不熟练,常常会出错。为了维持他对数学的兴趣,你能不能帮他做一下除法运算呢?
输入:
第一行是一个整数T(T≤1000),表明数据组数。 每组数据包括一行的两个整数a、b,用空格隔开。输入保证在int的范围内,且保证运算合法。
输出:
每组数据输出一行a÷b的值。保留6位小数。

2
114 514
1919 810

0.221790
2.369136

代码

#include<bits/stdc++.h>
using namespace std;
int main(){double a,b;int t;scanf("%d",&t);while(t--){scanf("%lf %lf",&a,&b);double c=a/b;printf("%.6f\n",c);}
return 0;
}

D PJ的 情书
题解连接
E: ingayass Bio Cards Collecting
题解链接

F Harry Potter And The Half-Blood Prince
题目描述:
这几天HBO一直在播放哈利波特系列电影,viewsetting觉得还行,就刷了一遍。哈利波特系列电影改编自J.K.Rowling的同名系列小说。在Harry Potter And The Half-Blood Prince中,哈利·波特和阿不思·邓布利多成功说服了霍拉斯·斯拉格霍恩重返学校,担任魔药课教师,而西弗勒斯·斯内普教授则如愿以偿,成为了黑魔法防御课老师。在第一节哈利·波特还没发到书的魔药课上,霍拉斯·斯拉格霍恩借给了哈利一本旧的魔药课课本。哈利发现,这本旧课本上面签着“Half Blood Prince”这个名字,此外这本书上还有很多笔记。可是问题来了,这个Half Blood Prince可不是等闲之辈,作为当年的学霸,他的学霸笔记可以让哈利波特的魔药学成绩提高到全班最高,然而他记笔记的习惯特别恶心。为了防止有人抄他的笔记,Half Blood Prince研制了一套密码笔记书写机制。他使用了一个函数转换他的笔记:对于a-z和A-Z这些拉丁字母,如果另a编号为0,b为1 ……依次类推,z为25。同样的A为0,B为1……Z为25。其实Half Blood Prince使用的是y=(kx+b)%26(%是取模运算符)的加密模式,也就是y是笔记上字符编号x对应的真实笔记的字符编号。那么举个栗子:假如这个密钥的加密模式是y=(x+1)%26,那么笔记中的“Bqtrg vhsg akcd.”应该表达的是“Crush with blade.”(注意除了大小写的字母外其他字符不用处理)。那么问题来了,为了让剧情发展下去,哈利波特告诉了你Half Blood Prince笔记的加密模式和参数k和b的值,你能设计一个解码程序,帮他还原学霸笔记,击败赫敏登上全班第一的宝座吗?
输入:
第一行两个整数k和b,均在一百以内,其中k>0,b>=0。第二行一个字符串(Length<=1000),代表Half Blood Prince的一条原始笔记。注意是多组输入。
输出:
这条笔记的真实版本,也就是根据转码规则得到的解码版本。

1 1
Bqtrg vhsg akzcd.

Crush with blade.

分析: 模拟就行,

#include<bits/stdc++.h>
using namespace std;
const int MAXN = 1e5;
char s[MAXN];
int main(){int k,b;while(scanf("%d%d",&k,&b)!=EOF){getchar();gets(s);int len=strlen(s);for(int i=0;i<len;i++){if(s[i]>='a'&&s[i]<='z') {int x=s[i]-'a';int y=(k*x+b)%26;putchar(y+'a');}else if(s[i]>='A'&&s[i]<='Z'){int x=s[i]-'A';int y=(k*x+b)%26;putchar(y+'A');}else putchar(s[i]);}puts("");}return 0;
}

G Harry Potter and the Prisoner of Azkaban
题目描述:
Viewsetting又看了一部哈利波特系列电影:Harry Potter and the Prisoner of Azkaban(哈利·波特与阿兹卡班的囚徒)。电影里出现了一个魔法道具:活点地图。乍看之下,这张地图只是一张空白的羊皮纸;但是当使用者说出“我庄严宣誓我没干好事”(“我庄严宣誓我不怀好意”I solemnly swear that I am up to no good) ,墨线就会开始延伸,浮现出一张霍格沃茨的地图(包括秘密通道)。地图上有霍格沃茨里每个人所在的位置,并指示打开秘密通道的方法。使用完毕之后,只要说“恶作剧完毕”(Mischief managed),就可以将地图复原成空白的状态,以防止其他不知道地图口令的人使用。活点地图是莱姆斯·卢平、小矮星彼得、小天狼星布莱克以及詹姆·波特(哈利的爸爸)共同发明的,专门用来达成恶作剧。他们在就寝时间后,常常化身为动物四处探险,使得他们对霍格沃茨的地下通道有很多了解(布莱克,小矮星和波特是阿尼马格斯,而卢平是狼人。)他们将所发现的秘密通道,制作成活点地图。地图上写著这几位创造者的名字,他们采用仅限彼此所知的昵称(代表他们幻化成的动物):月亮脸(指身为狼人的卢平),虫尾巴(指小矮星,化身成老鼠),大脚板(布莱克,化身成狗),以及尖头叉子(波特,化身为雄鹿)。而这也是活点地图标题的由来。
哈利波特用这张地图可以说是开了外挂,游戏体验++,然而斯内普发现了哈利有这张地图,并且试图找出其中的秘密,但却被地图羞辱了一顿。卢平教授表示他会调查,就将地图带走了。可是现在哈利波特特别需要这张地图,于是他找到了你,帮他完成这个魔法地图。但是你只是一个麻瓜(不会膜法的普通人类),那里会这些骚操作?但是你可是会计算机的大手子啊!你就拥有那些魔法师眼中的“黑魔法”!请你编写一个程序,同样也能实现这个地图的功能。
输入:
多组输入,以EOF结束 每组第一行输入一个n(n<=999),代表记录中有n个魔法师。接下来n行,每行依次输入魔法师的名字,起始坐标和编号。其中坐标(x,y)意义是x坐标代表东西方向,x正方向为东。类似的,y是北正南负且坐标都是整数有序对。编号是三位的,如有前导零则要补足,编号不超过999。 接下来输入一个正整数k。然后接下来k行对应这地图的记录,如果这个魔法师移动了,依次输入其编号,方向(N为北,S为南,W为西,E为东),步数(正整数)。如果这个魔法师没有移动,格式是编号和”stay”。
输出:
和输入格式一样,按照序号从小到大的顺序换行输出魔法师的名字,当前坐标和编号。
5
Harry (1,1) 231
Hermione (2,2) 402
Ron (1,0) 311
Dumbledore (10,10) 000
Snape (-1,-1) 007
3
231 E 1
402 S 1
007 stay

Dumbledore (10,10) 000
Snape (-1,-1) 007
Harry (2,1) 231
Ron (1,0) 311
Hermione (2,1) 402

分析: 模拟就行。

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;const int MAXN = 1000+11;
struct Infom{char name[1000];int x,y,id;
}node[MAXN];
int pos[MAXN];
bool cmp(Infom a,Infom b){return a.id<b.id;
}
int main(){int n;while(scanf("%d",&n)!=EOF){memset(pos,-1,sizeof(pos));for(int i=0;i<n;i++){scanf("%s (%d,%d) %d",node[i].name,&node[i].x,&node[i].y,&node[i].id);pos[node[i].id]=i;}int k;scanf("%d",&k);while(k--) {int id;char ch[10]; int step ;scanf("%d %s",&id,ch);if(ch[0]=='s') continue;scanf("%d",&step);if(ch[0]=='N') node[pos[id]].y+=step;else if(ch[0]=='S') node[pos[id]].y-=step;else if(ch[0]=='W') node[pos[id]].x-=step;else if(ch[0]=='E') node[pos[id]].x+=step;}sort(node,node+n,cmp);for(int i=0;i<n;i++)printf("%s (%d,%d) %03d\n",node[i].name,node[i].x,node[i].y,node[i].id);}
return 0;
}

H Lethe的手环
题解链接

I : 聪会长的关爱
题目描述:
大家都知道NEUQ-ACM俱乐部的会长聪聪是个英俊帅气的暖男,他最喜欢关心各路好看的妹子了。 这一天,他来到工学馆的一间教室,发现好多好多的漂亮小姐姐。但是小姐姐们都被一些丑陋的男人围着,聪聪很害怕,他不想得罪他们。 所以聪聪决定从一个小姐姐开始,把所有和她相邻的小姐姐,以及相邻的相邻的小姐姐(相邻小姐姐是指横、竖或对角线方向的第一位小姐姐)都关心一遍,而不跨过那些丑陋的男人。 请问聪聪最多能关心到多少个小姐姐?
输入:
多组输入。 每组第一行输入两个数m和n(0 < m , n < =1000),表示教室的大小,有m行n列的座位。当m和n为0时停止程序。 输入一个教室的人员分布图,用一个矩阵表示,其中“@”表示小姐姐,“*”表示丑陋的男人。
输出:
每组输出一行一个数字,表示聪聪最多能撩到的小姐姐数量。

5 5
**@
@@@
@*@
@@@*@
@@**@
0 0

8

分析: 就是求联通快问题。

#include<bits/stdc++.h>
using namespace std;
const int MAXN = 1000+11;
int n,m;
int mp[MAXN][MAXN];
int to[8][2]={1,0,-1,0,0,1,0,-1,1,1,-1,-1,-1,1,1,-1}; // 这里注意是8个方向
int cnt;
void DFS(int x,int y){mp[x][y]=0; cnt++;for(int i=0;i<8;i++) {int nx=x+to[i][0];int ny=y+to[i][1];if(mp[nx][ny]) DFS(nx,ny);}
}
char s[MAXN];
int main(){while(scanf("%d%d",&n,&m)!=EOF&&(n||m)){for(int i=1;i<=n;i++){scanf("%s",s);for(int j=0;s[j];j++)if(s[j]=='@') mp[i][j+1]=1; // 1代表小姐姐else mp[i][j+1]=0; //0 代表边界和丑男}int ans=0;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++) {if(mp[i][j]) {cnt=0;  DFS(i,j);ans=max(ans,cnt);}}}printf("%d\n",ans);}
return 0;
}

【第五届“图灵杯”NEUQ-ACM程序设计大赛】A C D【哈夫曼树】E【手写链表】 F G H【圆周排列生成】 I相关推荐

  1. 第八届“图灵杯”NEUQ—ACM程序设计竞赛个人赛(同步赛)

    A题--切蛋糕 龙龙有一块蛋糕,现在他想将蛋糕平均切成k块,分给他的k名hxd.但是不幸的是,因为龙龙不擅长切蛋糕,他每一次只能将一块蛋糕平均分成两份.例如,将一块大小为1的蛋糕分割成两块大小为1/2 ...

  2. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 K-密码

    第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 K-密码 链接:https://www.nowcoder.com/acm/contest/90/K 来源:牛客网 题目描述 ZiZi登录各种账号的 ...

  3. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 I-填空题

    第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 I-填空题 链接:https://www.nowcoder.com/acm/contest/90/I 来源:牛客网 题目描述 牛客网是是一个专注于 ...

  4. 第五届“图灵杯”NEUQ-ACM程序设计个人赛真题重现

    文章目录 前言 系列文章目录 一.逃出生天 题目描述 分析 AC代码如下: 二.我爱数学 题目描述 AC代码如下: 三.PJ的情书 题目描述 分析 AC代码如下: 四.Harry Potter And ...

  5. Contest - 第10届“新秀杯”ACM程序设计大赛网络资格赛 赛后信息(题解)

    题目列表:   Problem Id Title   2145 Problem A ACM-ICPC试炼   2151 Problem B 找教室   2152 Problem C 丢失的数列   2 ...

  6. 第五届图灵杯 A 逃出生天

    第五届"图灵杯"NEUQ-ACM程序设计大赛 A逃出生天 题目描述: gold学长从昏迷中醒来以后发现自己被困在一个山洞里,他找了很久,终于找到一个门.门上写着:想要逃出去,只有一 ...

  7. 第13届 广东工业大学ACM程序设计大赛 C题 平分游戏

    第13届 广东工业大学ACM程序设计大赛 C题 平分游戏 题目描述 转眼间又过了一年,又有一届的师兄师姐要毕业了. ​ 有些师兄师姐就去了景驰科技实习. 在景驰,员工是他们最宝贵的财富.只有把每一个人 ...

  8. ACM程序设计大赛概况

    ACM程序设计大赛概况 一. ACM大赛简介 ACM国际大学生程序设计竞赛(ACM/ICPC:ACM International Collegiate Programming Contest)是由国际 ...

  9. “玲珑杯”郑州轻工业学院第九届ACM程序设计大赛圆满结束

    "玲珑杯"郑州轻工业学院第九届ACM程序设计大赛圆满结束 ACM/ICPC国际大学生程序设计竞赛由美国计算机学会主办,是目前国际大学生计算机相关领域公认规模最大.水平最高的赛事之一 ...

  10. 补题:吉首大学第九届"新星杯"大学生程序设计大赛 ---还差一题.jpg

    为了督促自己补题!以后都开博客记录! 本次比赛:吉首大学第九届"新星杯"大学生程序设计大赛(重现赛) 时间:2020/1/5 共做出8题,最后卡在了一道博弈题. A:比赛的时侯看了下题目,没看懂,然后 ...

最新文章

  1. pam_frpintd.so 错误修复
  2. (C++)按照公式求圆周率pi的近似值的两种方法
  3. checkboxlist 数据库连接代码
  4. CTFshow php特性 web112
  5. BCGControlBar教程:Outlook Bars
  6. 计算机二级考试vb知识点,2016计算机二级《VB》考试重要知识点
  7. JavaScript高级程序设计20.pdf
  8. Time除了监控程序运行时间还能干这个?
  9. JVM 内存预警排查
  10. day2-Samba
  11. Application page and Site page
  12. Atitit 常见面试问题回答法 原则与细则 目录 1.1. 1、工作多久了?为什么离职? 1 1.2. 、自我评价 1 1.3. 问你有什么缺点 2 1.4. 4、理想薪资 2 1.5. 职业规
  13. 微信扫码下载APP解决方案
  14. Struts1——文件上传
  15. Vmware中Server配置静态IP地址
  16. 腾讯地图API使用指南
  17. 的撒困的空间三看到你塞拉
  18. 一篇博客解决网线挑选问题
  19. 转 shell编程100例
  20. Unity RayCast容易忽视的地方

热门文章

  1. BannerMaker
  2. 怎么用硬盘安装xp系统
  3. jenkings - instead of the expected OK message
  4. jcg 836 固件_JCG Studios – ArkDroid正式发布
  5. 第十三届蓝桥杯全国软件和信息技术专业人才大赛个人赛(电子类)单片机设计与开发科目 程序设计题
  6. Linux环境配置Python库及常用库介绍
  7. 想读项目源码?可为什么总是读不下去?
  8. win10搜索功能突然失效的解决办法
  9. 精心整理了一套SQL Server常用函数,速速收藏!
  10. Voleview安装和使用需注意的一些细节