zoukankan      html  css  js  c++  java
  • Codeforces Round #425 (Div. 2)

    A

    题意:给你n根棍子,两个人每次拿m根你,你先拿,如果该谁拿的时候棍子数<m,这人就输,对手就赢,问你第一个拿的人能赢吗

    代码:

    #include<stdio.h>
    #define ll long long
    using namespace std;
    ll n,m;
    int main()
    {
    while(~scanf("%I64d%I64d",&n,&m))
    {
    ll r=n/m;
    if(r%2==1)
    printf("YES ");
    else
    printf("NO ");
    }
    return 0;
    }

    B:字符串,暴力

    题意:给你的第一串里的字符都是好的,除开这个字符以外的所有小写字符都是坏了,然后再给你一个待匹配的的串,这个串中的’?‘可以替换成任何一个好的小写字符,‘*’表示可以替换成一个空的字符串或是一个全部由坏的小写字符组成的字符串(长度可以为1,也可以大于1)。然后下面开始询问,输入一个串问能不能由上面的串得来,可以就输出YES,否则输出NO

    几组样例吧

    abc

    a*?b

    3

    acb

    YES

    aicb

    YES

    ab

    NO

    k

    aaa

    1

    aa

    NO

    这个题有个bug我觉得因为对于下面的数据

    a

    *?

    2

    a

    NO

    ba

    NO

    这里应该都输出YES才对,但是我的代码在codeforces上过了,应该第二个字符串必须包含小写字符吧。

    代码:

    #include<stdio.h>
    #include<string.h>
    using namespace std;
    char a[30];
    int vis[30];
    char b[111000];
    int n;
    char c[111000];
    int main()
    {
    while(~scanf("%s",a))
    {
    memset(vis,0,sizeof(vis));
    for(int i=0; a[i]; i++)
    vis[a[i]-'a']=1;
    scanf("%s",b);
    scanf("%d",&n);
    int ans=0;
    for(int i=0;b[i];i++)
    if(b[i]=='*')
    ans++;
    for(int l=0; l<n; l++)
    {
    int flag=0;
    scanf("%s",c);
    int x=strlen(b);
    int y=strlen(c);
    int i=0,j=0;
    if(ans==0&&y!=x)
    flag=1;
    if(ans==1&&y<x-1)
    flag=1;
    else
    while(i<x&&j<y)
    {
    if(b[i]==c[j])
    {
    i++;
    j++;
    continue;
    }
    else if(b[i]=='?')
    {
    if(vis[c[j]-'a']==0)
    {
    flag=1;
    break;
    }
    else
    {
    i++;
    j++;
    continue;
    }
    }
    else if(b[i]=='*')
    {
    if(y==x-1)
    {
    i++;
    continue;
    }
    else
    {
    for(int k=j; k<=j+y-x; k++)
    {
    if(vis[c[k]-'a']==1)
    {
    flag=1;
    break;
    }
    }
    if(flag==1)
    break;
    i++;
    j=j+y-x+1;
    }
    }
    else
    {
    flag=1;
    break;
    }
    }
    if(flag==1)
    printf("NO ");
    else
    printf("YES ");
    }
    }
    return 0;
    }

  • 相关阅读:
    150个JS特效脚本
    .sql文件被加密恢复
    Alpha865qqz.id 加密数据库恢复
    最新incaseformat 病毒删除文件恢复
    Oracle MISSING00000文件故障恢复
    asm 磁盘分区丢失恢复----惜分飞
    oracle数据文件0kb恢复
    ORA-600 16703--oracle介质被注入恶意脚本
    GANDCRAB病毒oracle数据库恢复
    文件系统损坏,oracle数据库恢复
  • 原文地址:https://www.cnblogs.com/xiejiamin/p/7232609.html
Copyright © 2011-2022 走看看