1 条题解

  • 0
    @ 2025-8-24 23:02:18

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Zskioaert1106
    值得一提的是,我在四个洛谷有 Remote Judge 的国外 OJ 上的账号都不是我的洛谷用户名。

    搬运于2025-08-24 23:02:18,当前版本为作者最后更新于2024-08-24 13:01:10,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    第一遍 WA 了,然后发现一个小坑(但不多)。

    题目传送门:P10899 [蓝桥杯 2024 省 C] 劲舞团

    题目分析

    一眼简单的模拟,重复读入两个字符判断是否相等即可。同时记录上次时间,与本次比较。如果不满足连击的条件就把 KK 清零。(由于时间戳是毫秒)所以如果两者相差不超过 10001000 且敲击与给出的键位相等,连击的 KK 就加 11。最终选择最大的 KK

    坑点:如果你不将 KK 每次重置为 11,那你在比较 KK 的时候需要将结果 +1+1,因为 KK 连击的第一次由于时间戳的关系不会被记录。

    每次判断完要把“上次时间”更新为本次时间。

    代码编写

    此处不应使用 int,因为从下发文件可以看出,最早 17094461395911709446139591 也远远大于 2312^{31}。可以用 long long,由于读入的都是正数,所以推荐使用无符号版的 unsigned long long。

    #include<iostream>
    using namespace std;
    unsigned long long ntime,ftime,ansK,sumK;
    int main(){
    	char n,m;
    	while(cin>>n>>m>>ntime){
    		if(n==m&&ntime-ftime<=1000)sumK++;
    		else{
    			if(sumK+1>ansK)ansK=sumK+1;
    			sumK=0;
    		}
    		ftime=ntime;
    	}
    	cout<<ansK;
    	return 0;
    }
    

    可以 AC

    彩蛋

    根据时间戳的转换可以得出,小蓝是在 2024 年 3 月 3 日 14:08 左右开始的游戏,结束于 14:33。二十五分钟最大连击 99 次,这游戏真难啊

    • 1

    信息

    ID
    10688
    时间
    1000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者