专栏文章

题解:P14505 [NCPC 2025] km/h

P14505题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@min8nunj
此快照首次捕获于
2025/12/01 22:22
3 个月前
此快照最后确认于
2025/12/01 22:22
3 个月前
查看原文

题目大意

你是司机,你开着一辆车要按顺序经过 nn 个限速标志或解除限速标志。请根据这一路段的标志来推断出这一路段的最大限速。

思路

如果知道当前路段的最高限速,即标志为限速标志时,那么直接输出这个数字。如果不知道,即标志为解除限速标志时,就要推断国家限速。而这两句话尤为重要:国家限速总是严格高于任何限速标志上的数值。你完全记不住国家限速,只知道它是一个整十的数字。根据这两句话,即可得出你推断出来的国家限速就是:大于当前所有看到过的限速标志最大值的整十数。那么问题就迎刃而解了。

代码

为了方便,就用了字符串读入。
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,maxn;
string s;
signed main(){
	cin>>n;
	while(n--){
		cin>>s;
		if(s=="/") cout<<(maxn/10+1)*10<<endl; //根据思路,输出大于最大值的整十数
		else{
			cout<<s<<endl;
			maxn=max(maxn,stoll(s)); //stoll 是将字符串转成 long long 类型的函数。
		}
	}
	return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...