智算之道初赛第二场A题

在这里插入图片描述

亮三盏灯

这题首先我们就能看出当同时亮三盏灯的时候小明肯定在中间一层,然后就是特殊情况

亮两盏灯

0、如果该楼只有两层高,那么我们没法判断在那一层输出-1;
1、当高于两层时,如果亮的是1、2楼,那么肯定在1楼才能出现该情况;输出1
2、当高于两层时,如果亮的的是最高层,那么小明肯定在楼顶,输出最高层即n

亮一盏灯

0、如果该楼只有一层高,输出1,肯定在一楼
1、当该楼高于一楼时候,我们无法判断是否在亮的那层楼,所以输出-1;

#include<iostream>

using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    int T;
    cin>>T;
    while(T--)
    {
        int n,m;
        cin>>n>>m;
        int l[3];
        for(int x=0;x<m;x++)
        {
            cin>>l[x];
        }
        if(m==3)
        {
            cout<<l[1]<<endl;
        }
        else if(m==2)
        {
            if(n==2)
            {
                cout<<-1<<endl;
            }
            if(n>2)
            {
                if(l[0]==1)
                {
                    cout<<1<<endl;
                }
                else if(l[1]==n)
                {
                    cout<<n<<endl;
                }
            }
        }
        else
        {
            if(n==1)
            {
                cout<<1<<endl;
            }
            else
            {
                cout<<-1<<endl;
            }
        }
    }
    return 0;
}
### 关于百度之星2011初赛A第一 图标排序的解与代码实现 #### 目分析 根据目描述,"图标排序"问通常涉及对一组图标按照某种规则进行排序。虽然没有直接引用到具体的目内容,但可以推测该问可能需要结合输入数据的特点以及特定的排序算法来解决[^1]。例如,可能需要对图标的属性(如颜色、形状或其他特征)进行比较和排列。 #### 解思路 此类问通常可以通过以下方式解决: - **输入解析**:首先读取输入数据,确保能够正确理解图标的属性。 - **排序规则定义**:明确目中要求的排序规则,并将其转化为程序中的比较逻辑。 - **算法选择**:使用适当的排序算法(如快速排序、归并排序等)实现排序功能。 - **输出结果**:将排序后的图标顺序输出。 #### 示例代码实现 以下是基于Python的代码实现示例,假设输入为一组图标及其属性,并按特定规则排序: ```python def icon_sort(icons): # 假设图标是一个列表,每个元素为一个元组 (id, color, shape) # 按照颜色升序排序,如果颜色相同则按照形状降序排序 sorted_icons = sorted( icons, key=lambda x: (x[1], -ord(x[2][0])) # x[1]: 颜色, x[2]: 形状 ) return sorted_icons # 示例输入 icons = [ (1, "red", "circle"), (2, "blue", "square"), (3, "red", "triangle"), (4, "blue", "circle") ] # 调用函数并打印结果 sorted_result = icon_sort(icons) for icon in sorted_result: print(icon) ``` #### 注意事项 在实际编码过程中,需注意以下几点: - 输入数据格式可能有所不同,需仔细阅读目说明。 - 排序规则可能较为复杂,需确保程序能够正确处理所有边界情况。 - 如果目中有特殊限制(如时间或空间复杂度),需选择合适的算法以满足要求。 #### 结果验证 通过上述代码,可以对图标进行排序并输出结果。如果需要进一步优化或调整排序规则,可以根据具体需求修改`key`函数中的逻辑[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值