Onecode 天梯2

        A
A题比较简单,可将x,y直接输入后将所在行、列全部设为不可走。
如:

for(int i=0;i<k;i++)
{
    int x,y;
    scanf("%d%d",&x,&y);
    hang[x]=1;
    lie[y]=1;
}

最后一一检测行、列还有几条可以“横冲直撞”。
        
        
        
        B
 此题关于字符串,可以用结构体

struct node
{
    char kemu[15];
    int value;
};

来实现统一处理。
输入时当value<=0时,忽略此学生,进行下一组(或者continue):

for(int i=0;i<n;i++)
{
    scanf("%s%d",a[i].km,&a[i].value);
    if(a[i].value<=0) i--,n--;
}

接着sort一下,选择尽量多精英价值的学生,ans++;

sort(a+0,a+n,cmp);

        C
这题数据十分大,所以枚举的思想可以靠边了。
设置1个(奇数)或2个(偶数)“顶峰” 


        D
这题数据着实水到令人发指(虽然我没过)。 
涉及字符串,注意下标(1000)。
我觉得可以拿出一个a,从0开始往后比较c,找到了就拿下一个a: 

while(t<strlen(c))    //t表示c的进度 
{
    if(c[t]==a[t1]&&!c_yn[t]) t1++;  //t1表示a的进度,c_yn表示这个字符是否被查过水表,找到就换下一个 
    t++; 
}

最后如果c中不包含a,则直接输出No: 

if(t1!=strlen(a)) return !printf("No");

b也一样的方法。
程序走到最后,说明应输出Yes 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值