码迷,mamicode.com
首页 > 其他好文 > 详细

codeforce 906 SOL (A)

时间:2018-01-17 00:22:40      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:cas   答案   阅读   ace   char   title   ase   strlen   eof   

一道英语阅读理解,满满的都是套路,欺负我英文不好(自己去翻译吧,我就不写中文了)

我们模拟一遍就好了,如果"!"把句子中没出现的字母排除,"."就排除句子里出现的。
注意答案是从已知那个字母开始统计的。
#include<bits/stdc++.h>
using namespace std;
int n,len,p[28],ot[28],ed,ans,top;
char ch[37],s[100007];
int main () {
    freopen("a.in","r",stdin);
    scanf("%d\n",&n);n--;
    while (n--) {
        scanf("%s",ch); scanf("%s",s); len=strlen(s);
        switch (ch[0]) {
            case .:
                for (int i=0;i<len;i++) p[s[i]-a]=1;
                break;
            case ?: 
                if (ed) {ans++; break;}
                p[s[0]-a]=1; break;
            case !:
                if (ed) {ans++; break;}
                memset(ot,0,sizeof ot);
                for (int i=0;i<len;i++)
                 ot[s[i]-a]=1;
                for (int i=0;i<26;i++)
                 if (!ot[i]) p[i]=1;
        }
        if (!ed) {
        top=0;
        for (int i=0;i<26;i++)
         if (!p[i]) top++;
        if (top==1) ed=1; }
    }
    printf("%d\n",ans);
}

 

 

codeforce 906 SOL (A)

标签:cas   答案   阅读   ace   char   title   ase   strlen   eof   

原文地址:https://www.cnblogs.com/rrsb/p/8298322.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!