ccf-201403-3有趣的命令行

ccf-201403-3有趣的命令行,第1张

概述傻逼题,要是考试只能得0分。。 提供几组傻逼数据,这要是在真实的生活中一定是错的。。。 还是要好好读题吧,全凭自己的感觉就得0分 albw:x4ls -a docuCase 1: -als -w -wCase 2: -w -w #include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#includ

傻逼题,要是考试只能得0分。。
提供几组傻逼数据,这要是在真实的生活中一定是错的。。。

还是要好好读题吧,全凭自己的感觉就得0分

albw:x4ls -a docuCase 1: -als -w -wCase 2: -w -w
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<queue>#include<cmath>#include<map>#include<stack>#include<set>#include<bitset>using namespace std;typedef long long ll;typedef unsigned long long ull;typedef pair<int,int> pii;#define pb(x) push_back(x)#define cls(x,val) memset(x,val,sizeof(x))#define fi first#define se second#define mp(x,y) make_pair(x,y)#define inc(i,l,r) for(int i=l; i<=r; i++)const int inf = 0x3f3f3f3f;const int maxn = 2000+10;bool have[maxn];bool exist[maxn];struct Node{    string s;    string var;    bool prin;}node[26];int n;vector<string> split;vector<string> process(char *s){    int st = 0;    vector<string> temp;    string t;    int len = strlen(s);    for(int i=0; i<len; i++){        if(s[i] == ' '){            t = "";            for(int j=st; j<i; j++){                t+=s[j];            }            temp.push_back(t);            st = i+1;        }    }    t = "";    for(int j=st; j<len; j++){        t+=s[j];    }    temp.push_back(t);    return temp;}int main(){    ios::sync_with_stdio(false);    char op[300];    scanf("%s",op);    int len = strlen(op);    for(int i=0; i<len; i++){        if(op[i]>='a'&&op[i]<='z'){            exist[op[i]-'a'] = true;            if(i+1<len && op[i+1] == ':'){                have[op[i]-'a'] = true;                i++;            }        }    }    int kase = 1;    scanf("%d",&n);    getchar();    while(n--){        gets(op);        for(int i=0; i<26; i++) node[i].prin = false;        split = process(op);        int sz = split.size();//        for(int i=0; i<sz; i++){//            printf("%s ",split[i].c_str());//        }        for(int i=1; i<sz; i++){            string temp = split[i];            if(temp[0] == '-'){                int c = temp[1]-'a';                if(!exist[c]) break;                if(have[c] == true){                    if(i==sz-1) break;                    else {                        node[c].prin = true;                        node[c].var = split[i+1];                    }                    i++;                }                else{                    node[c].prin = true;                }            }            else break;        }        //cout<<"Case "<<kase++<<":";        printf("Case %d:",kase++);        for(int i=0; i<26; i++){            if(node[i].prin){                //cout<<" -"<<char(i+'a');                printf(" -%c",char(i+'a'));                if(have[i]){                    //cout<<" "<<node[i].var;                    printf(" %s",node[i].var.c_str());                }            }        }        printf("\n");    }    return 0;}
总结

以上是内存溢出为你收集整理的ccf-201403-3有趣的命令行全部内容,希望文章能够帮你解决ccf-201403-3有趣的命令行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1210847.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存