P2818 天使的起誓

天使的起誓

题目描述

Tenshi 非常幸运地被选为掌管智慧之匙的天使。在正式任职之前,她必须和其他新当选的天使一样要宣誓。

宣誓仪式是每位天使各自表述自己的使命,他们的发言稿放在 n n n 个呈圆形排列的宝盒中。这些宝盒按顺时针方向被编上号码 1 , 2 , ⋯   , n − 1 , n 1, 2, \cdots, n - 1, n 1,2,⋯,n−1,n。

一开始天使们站在编号为 n n n 的宝盒旁。她们各自手上都有一个数字,代表她们自己的发言稿所在的盒子是从 1 1 1 号盒子开始按顺时针方向的第几个。例如:有 7 7 7 个盒子,如果 Tenshi 手上的数字为 9 9 9,那么她的发言稿所在的盒子就是 2 2 2 个。现在天使们开始按照自己手上的数字来找发言稿,先找到的就可以先发言。

Tenshi 一下子就找到了,于是她最先上台宣誓:"我将带领大家开启 NOI 之门......" Tenshi 宣誓结束后,陆续有天使上台宣誓。可是有一位天使找了好久都找不到她的发言稿,原来她手上的数字 m m m 非常大,她转了好久都找不到她想找的宝盒。

请帮助这位天使找到她想找的宝盒编号。

输入格式

第一行为正整数 n n n,第二行为正整数 m m m。

输出格式

只有一行(包括换行符),即天使想找的宝盒的编号。

样例 #1

样例输入 #1

复制代码
7
9

样例输出 #1

复制代码
2

样例 #2

样例输入 #2

复制代码
11
108

样例输出 #2

复制代码
9

提示

对于 100 % 100 \% 100% 的数据, 2 ≤ n ≤ 1 0 8 2\le n\le 10^8 2≤n≤108, 2 ≤ m ≤ 1 0 1000 2\le m\le 10^{1000} 2≤m≤101000。

我的代码

cpp 复制代码
#include<bits/stdc++.h>
//#include<manyheader.h>
//#include<dpcq.h>
using namespace std;
int n, ans;
string m;
int main() {
	cin >> n >> m;
	for (int i = 0; i < m.size(); i++)
		ans = (ans * 10 + m[i] - 48) % n;
	if (ans == 0)cout << n;
	else cout << ans;
	return 0;
}
相关推荐
困死,根本不会4 分钟前
Qt Designer 基础操作学习笔记
开发语言·笔记·qt·学习·microsoft
李昊哲小课17 分钟前
Python 高级数据结构
开发语言·数据结构·python
愚者游世21 分钟前
<algorithm> 中 remove、remove_if、remove_copy、remove_copy_if 详解
c++·学习·程序人生·职场和发展·visual studio
无心水22 分钟前
【任务调度:框架】10、2026最新!分布式任务调度选型决策树:再也不纠结选哪个
人工智能·分布式·算法·决策树·机器学习·架构·2025博客之星
MediaTea26 分钟前
Python:词频统计流程及综合示例
开发语言·python
wregjru28 分钟前
【读书笔记】Effective C++ 条款5~6:若不想使用编译器自动生成的函数,就该明确拒绝
java·开发语言
语戚32 分钟前
从 JVM 底层拆解:i++、++i、i+=1、i=i+1 的实现逻辑与坑点
java·开发语言·jvm·面试·自增·指令·虚拟机
我头发还没掉光~32 分钟前
【C++写详细总结①】从for循环到算法初步
数据结构·c++·算法
喜欢喝果茶.34 分钟前
Qt MQTT部署
开发语言·qt
wefg139 分钟前
【Linux】线程同步与互斥 - 2(线程同步/条件变量/基于阻塞/环形队列的cp模型/线程池/线程安全/读写锁)
linux·开发语言