来个大佬看看为啥才十分

P1597 语句解析

输入格式你是不是弄错了?
by Zoe_888 @ 2024-04-11 10:53:48


@[Zoe_888](/user/556181) 不行呀,我只会改成getline(cin,s);但是还不对
by elong123 @ 2024-04-11 11:49:26


你可以看看这个(我的)AC代码: ```cpp #include <bits/stdc++.h> using namespace std; int main(){ string s; cin >> s; int a = 0,b = 0,c = 0; for (int i = 0;i < s.size();i += 5){//一个赋值语句长度为5(参见题目) if (s[i] == 'a'){ if ('0' <= s[i + 3] && s[i + 3] <= '9'){//变量赋值数字 a = (int)(s[i + 3] - '0'); } //变量赋值变量 if (s[i + 3] == 'b') a = b; if (s[i + 3] == 'c') a = c; } //同样的 if (s[i] == 'b'){ if ('0' <= s[i + 3] && s[i + 3] <= '9'){ b = (int)(s[i + 3] - '0'); } if (s[i + 3] == 'a') b = a; if (s[i + 3] == 'c') b = c; } if (s[i] == 'c'){ if ('0' <= s[i + 3] && s[i + 3] <= '9'){ c = (int)(s[i + 3] - '0'); } if (s[i + 3] == 'b') c = b; if (s[i + 3] == 'a') c = a; } } cout << a << " " << b << " " << c; return 0; } ``` 和一些题目中的测试数据: 1.in: `a:=3;b:=b;c:=a;b:=8;a:=b;` 1.out: `8 8 3` 3.in: `b:=2;a:=5;c:=a;a:=b;b:=c;` 3.out: `2 5 5 `
by Zoe_888 @ 2024-04-11 12:41:35


@[elong123](/user/892700)
by Zoe_888 @ 2024-04-11 12:41:58


@[Zoe_888](/user/556181) 好滴
by elong123 @ 2024-04-11 14:50:03


|