1 条题解

  • 0
    @ 2025-8-24 22:32:44

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Miracle_ZX
    男 | JXNC JKFZ | MOer | AFOed | !PHOer

    搬运于2025-08-24 22:32:44,当前版本为作者最后更新于2021-07-31 11:31:18,作者可能在搬运后再次修改,您可在原文处查看最新版

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

    以下是正文


    Part 0

    希望管理员大大通过呀~谢谢

    Part 1 思路

    我们注意题目,这道题有两个关键点,传到谁手上了,和现在的时间。我们可以用两个变量来存。当有答对时更新。

    在这里,要注意:

    1.原题中是一个圆桌,即传到第 88 个人时,会直接传到第 11 个人手中,会要特判。
    2.如果某一时刻,时间 tt 若大于等于 210210 就立即结束,并输出编号。

    Part 2 code

    #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        int k, n;
        cin >> k >> n;
        int t;
        for (int i = 1; i <= n; i++)
        {
        	int x;//答题时间
        	char c;//是否答对
        	cin >> x >> c;
        	t += x;//时间叠加上答题时间
        	if (t >= 210)
        	{//如果时间超过,直接爆炸
        		cout << k;
        		return 0; 
    		}
    		else
    		{
    			if (c == 'T')
    			{//如果答对,传到下一个人
    				if (k == 8) k = 1;
    				else k++;
    				/*
    				或利用循环队列的思路
    				直接写:++k %= 7
    				*/
    			}
    			//没答对,继续回答
    		}
    	}
    	return 0;
    }
    

    Part 3 AC picture

    AC!

    • 1

    信息

    ID
    7062
    时间
    1000ms
    内存
    32MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者