解题思路:
        很人类的思维,每次输入衣服长度后,更新status数组的值,随后记得加上一个空隔位
注意事项:
        最后一件衣服后面也加了一个空隔位,追求严谨的同学,最后多加一条语句status[index-1] = '0'即可。我懒。
参考代码:

#include<bits/stdc++.h>
using namespace std;

int main()
{
    // 晾衣杆长度
    int n;
    cin >> n;
    // 每组衣服的件数
    int cloNum;
    char status[100010];
    while (cin >> cloNum) {
        int i, j;
        // 当前衣服长度
        int cloLen;
        // 查询位置,即题目里的i
        int queryPos;
        // 操作status数组的下标,题目意思是从1位置开始晾衣服的
        int index = 1;
        // 初始化
        memset(status, '0', sizeof(char) * 100010);
        for (i = 0; i < cloNum; ++i) {
            cin >> cloLen;
            // 这里可能要花点时间理解,简单说就是从index位置开始晾衣服,晾cloLen个长度
            for (j = 0; j < cloLen; ++j) {
                status[index + j] = '1';
            }
            // index记得更新
            index += cloLen;
            // 空隔位,顺便index自增
            status[index++] = '2';
        }
        cin >> queryPos;
        cout << status[queryPos] << endl;
    }
    return 0;
}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论