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;
}
相关推荐
渡过晚枫几秒前
[第十六届蓝桥杯/java/算法]1.偏蓝
java·算法·蓝桥杯
.小小陈.3 分钟前
C++进阶7:深入理解哈希表,从原理到 C++ 实践
开发语言·c++·学习·哈希算法
码云数智-大飞3 分钟前
排序算法的终极博弈:从复杂度推导到工程选型实战
开发语言
2501_940315265 分钟前
【无标题】1302 层数最深叶子节点的和
java·数据结构·算法
isxhyeah6 分钟前
python 数据结构 排序算法
数据结构·python·排序算法
invincible_Tang11 分钟前
AcWing 796. 子矩阵的和 _
数据结构·算法
南 阳14 分钟前
Python从入门到精通day48
开发语言·python
米粒116 分钟前
力扣算法刷题 Day 8
算法·leetcode·职场和发展
keep intensify16 分钟前
康复训练 2
c++
晨晖218 分钟前
java容器类的博客
java·开发语言