2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)I-迷途的怪物
链接:https://ac.nowcoder.com/acm/contest/3036/I
来源:牛客网
题目描述
圣杯能召唤过去,现在甚至未来的各种英灵。想必也有不同世界的英灵会被召唤,所以才会有对圣杯的不断响应吧。为了修复过去的错误。为了重新选择。
「吾名奥德修斯,为七骑之中的狂战士(berserker)」面前的怪物开口了,虽然具有人形,但却没有一点人的感觉。更像是失控的野兽。
「还保有理智吗」
「是的」怪物没有过多的行动「开门见山吧,吾辈是没有战胜魔女喀耳刻的奥德修斯。我不曾再见过我的妻儿,被魔女任意改造成可怕的怪物。因为同为奥德修斯而被记录在英灵座上的怪物罢了。我不打算和你们动手,但你们必须回答我的问题,才能离开。无法得到答案,连我也无法离开这个迷宫」
「请说」
「迷宫的一个岔口对应一个谜题,而这些谜题的答案都是由一个公式计算得到的,这个公式就是(p-1)n % p。每个岔口都有对应的p和n,而且p必定为一个素数。带着我,只要你计算出正确答案,我就能告诉你正确的前进方向」它起身了
「我明白了」虽然它给我感觉是失控的野兽,但却毫无危险的感觉
输入描述:
第一行输入一个整数T (1<=T<=5),代表有T个样例,
对于每组样例,输入一行,每行输入一个质数p (2<=p<=10910^9109)和一个整数n (0<=n<10100000110^{1000001}101000001 )。
输出描述:
对于每一组样例,输出(p-1)n % p
(注:’%'是取模运算符,也叫取余运算符,比如:8 % 3 = 2,因为8除于3的余数是2。更详细的说:因为8 = 23 + 2,前一部分 "23" 是3的倍数,后一部分 “2” 是小于3的数,后一部分就是8 % 3的结果)
示例1
输入
2 1
2 2
输出
1
1
说明
提示:n会很大,请不要试图使用int和long long存,要用char数组存。另外,请不要执行1e7次及以上的取模运算,否则超时。
输入输出代码(参考):
#include <stdio.h>char n[1000005];int main(){int T;scanf("%d", &T);for(int t = 1; t <= T; t++){int p;scanf("%d %s", &p, n);//...;//printf...;}return 0;
}
思路
再做上一道同样数据量较大的题目时
有一位学长给了我一点指导
所以我就先把前面的数据打印出来查看规律
于是可以发现如果 n 是奇数的话,(p−1)n(p -1)^n(p−1)n对 p 取模,结果还是 p - 1;如果是偶数的话,结果就是 1 。
我觉得跟p是质数(素数)应该是有关系的
然后就用最近学的queue容器(本来想用string的,但是没用过,就不敢用)
代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<queue>
using namespace std;
int main() {int t;scanf("%d", &t);getchar();vector<char>a, b;char c;while (t--) {a.clear(), b.clear();while ((c = getchar()) != ' ') a.push_back(c);while ((c = getchar()) != '\n') b.push_back(c);if (b[b.size() - 1] % 2 == 0) printf("1\n");else {if (a[a.size() - 1] == '0') {a[a.size() - 2] -= 1;a[a.size() - 1] = '9';}else a[a.size() - 1] -= 1;a.push_back('\0');printf("%s\n", &a[0]);}}return 0;
}
总结
学长说的如果遇到数据量很大的题目,可以试着先将一小部分数据打印出来观察是否有规律再进行接下来的操作非常的好用,给他点赞哦
2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)I-迷途的怪物相关推荐
- 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)E-缺席的神官
链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言262144K 64bit IO Format: % ...
- 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)
同步赛链接 A-原初的信纸(最值,STL) 题意: 找 n 个数的最大值. 参考代码: void solve() {int n;std::cin >> n;std::vector<i ...
- 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)G-虚数的纸牌
链接:https://ac.nowcoder.com/acm/contest/3036/G 来源:牛客网 题目描述 这次是一个成年男性,他正在玩弄着手上的扑克牌,纸牌在他手中翻飞着,如同空中飞舞的蝴蝶 ...
- 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)A-原初的信纸
链接:https://ac.nowcoder.com/acm/contest/3036/A 来源:牛客网 题目描述 「师父,那种东西还有用吗」格蕾停下手上的工作问道 「还有的」我反转着手上的信纸,虽然 ...
- 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)F-失踪的玫瑰
题目描述 「嘻嘻」 我能确认,面前这位影从者的确是一个小女孩.而在我面前排列着一行许多从表面上看起来并没有什么区别的木盒子.到底是怎样的英灵才会在以幼儿时的形态为全盛时期呢,还是说她在幼年之时就英年早 ...
- 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)D-城市的税金
链接:https://ac.nowcoder.com/acm/contest/3036/D 来源:牛客网 题目描述 影从者,并非真正的从者,而是一种'量产'从者,或是一种劣化从者. 而虚假的圣杯,准确 ...
- 2021年广东工业大学第11届腾讯杯新生程序设计竞赛(同步赛)错题笔记
目录: 题目链接 A 比比谁更大 B 过生日 D 机器人 G 拼牛牛 I 史莱姆 J 水题 K 烧烤丝瓜 L 歪脖子树下的灯 题目链接 A 比比谁更大 题目描述 在一个夜黑风高的晚上,牛哥哥吃完心爱的 ...
- 牛客练习-哈尔滨理工大学21级新生程序设计竞赛(同步赛)
比赛链接:哈尔滨理工大学21级新生程序设计竞赛(同步赛) 文章目录 前言 正文 A.考试周破防 B.咖啡店 C.kiki和bob玩取石子 D.猴王kiki分桃 E.很二的拆分 F.构造字符串 G.信号 ...
- 2021年广东工业大学第11届腾讯杯新生程序设计竞赛(同步赛)A 比比谁更大
链接:https://ac.nowcoder.com/acm/contest/24803/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52 ...
最新文章
- centos7上搭建http服务器以及设置目录访问
- html,css,js小实例,CSS和JavaScript脚本实例
- lin-cms-dotnetcore功能模块的设计
- paragon+ntfs+linux,NTFS For Mac 超强兼容性
- 1017 A除以B (20分)
- 【opencv学习】单应性变换Homography
- ZeroMQ接口函数之 :zmq_msg_get - 获取消息的性质
- postgre sql 括字段_【技术干货】30个最适合初学者的SQL查询
- 谷歌升级AutoML,可用于大规模图像分类和物体检测
- openerp 常见问题 OpenERP在哪储存附件?(转载)
- Android项目clean之后R.java文件丢失解决办法
- 多线程CountDownLatch和Join
- jstl概念以及基本使用
- Unity小组工程实践项目《最强外卖员》策划案纠错文档
- vue中组件根元素添加样式无效
- ofo押金是否可以起诉_是否可以因应用程序中的错误而被起诉?
- 未来的计算机绘画图片,电脑绘画——为想象力插上科技的翅膀 二十中附校科技社团电脑绘画作品展...
- stm32 GPIO_Write
- C 语言隐式类型转换
- 计算机操作系统第四章虚拟存储器