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;
}
相关推荐
IronMurphy几秒前
【算法二十九】 437. 路径总和 III
算法·深度优先
jinanwuhuaguo2 分钟前
OpenClaw安全使用实践全景深度指南:从“裸奔龙虾”到“可信数字堡垒”的体系化构建
开发语言·php
2501_908329852 分钟前
C++安全编程指南
开发语言·c++·算法
计算机安禾4 分钟前
【C语言程序设计】第39篇:预处理器与宏定义
c语言·开发语言·c++·vscode·算法·visual studio code·visual studio
巧妹儿5 分钟前
Python 配置管理封神技:pydantic_settings+@lru_cache,支持优先级,安全又高效,杜绝重复加载!
开发语言·python·ai·配置管理
独隅9 分钟前
Python AI 全面使用指南:从数据基石到智能决策
开发语言·人工智能·python
m0_5698814715 分钟前
C++中的装饰器模式变体
开发语言·c++·算法
笒鬼鬼16 分钟前
【API接口】最新可用红果短剧接口
算法·api·笒鬼鬼·红果短剧·接口源码
weixin_4219226918 分钟前
C++与边缘计算
开发语言·c++·算法
2401_8319207420 分钟前
C++编译期数组操作
开发语言·c++·算法