蒟蒻两次都是20~呜呜

P1597 语句解析

AC 求关 ```cpp #include<stdio.h> #include<string.h> char ar[10010]={0}; int main() { scanf("%s",ar); int la=strlen(ar); int a,b,c; a=0; b=0; c=0; for(int i=0;i<la/5;i++) { char x,y; x=ar[i*5]; y=ar[i*5+3]; if(x=='a') { if(y=='b') a=b; else if(y=='c') a=c; else if(y>='0'&&y<='9') a=y-48; } if(x=='b') { if(y=='a') b=a; else if(y=='c') b=c; else if(y>='0'&&y<='9') b=y-48; } if(x=='c') { if(y=='a') c=a; else if(y=='b') c=b; else if(y>='0'&&y<='9') c=y-48; } } printf("%d %d %d",a,b,c); return 0; }
by HEROBRINEH @ 2024-04-09 18:00:49


第一种: ```cpp #include<bits/stdc++.h> using namespace std; int a=0,b=0,c=0; void f(int &n,char ch){//注意这里:c已经赋过值了 switch(ch) { case 'a': n=a; break; case 'b': n=b; break; case 'c': n=c; break; default: n=ch-'0'; } } int main(){ string s; cin>>s; for(int i=0;i<s.size();i++){ switch(s[i]) { case 'a': f(a,s[i+3]); break; case 'b': f(b,s[i+3]); break; case 'c': f(c,s[i+3]); break; } i+=4; } printf("%d %d %d",a,b,c); return 0; } ```
by W_Galaxy @ 2024-04-09 18:46:53


第二种也是一样的改法
by W_Galaxy @ 2024-04-09 18:50:56


@[W_Galaxy](/user/1181026) 谢谢
by Lorentz @ 2024-04-21 17:13:47


@[HEROBRINEH](/user/1113507) 谢谢 但是我要是想要答案不如直接抄题解
by Lorentz @ 2024-04-25 17:07:09


|