|Tyvj|NOIP2013|模拟|P2772 表达式求值
2016-08-16 10:07
387 查看
http://tyvj.cn/p/2772
此题由于我不喜欢用栈写表达式(分明是不会),所以用个链表乱搞AC了。。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int sz[100005];//数字
int bh[100005];//标号,链表储存
int s_n = 0;
char fh[100005];//符号
int f_n = 0;
char lastch=' ',ch;
int main ()
{
//freopen("123.in","r", stdin);
memset(sz, 0, sizeof(sz));
int i = 0;
ch = getchar();
while(ch!='\n')
{
if (ch=='+'||ch=='*') fh[++f_n] = ch;
if (ch>='0'&&ch<='9')
{
if(lastch>='0'&&lastch<='9')
{
sz[s_n] = (sz[s_n] * 10 + ch - '0') % 10000;
} else sz[++s_n] = ch - '0';
}
lastch = ch;
ch = getchar();
}
for (int i=1;i<=s_n;i++) bh[i] = i+1;
bh[s_n] = 10000000;
for (int i=1;i<=f_n;i++)
{
if(fh[i]=='*')
{
sz[bh[i]] = sz[i] * sz[bh[i]] % 10000;
sz[i] = 765428;
}
}
int tot = 0;
for (int i=1;i<=s_n;i=bh[i])
{
if (sz[i]!=765428)
tot = (tot+sz[i])%10000;
}
printf("%d\n", tot);
return 0;
}
此题由于我不喜欢用栈写表达式(分明是不会),所以用个链表乱搞AC了。。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int sz[100005];//数字
int bh[100005];//标号,链表储存
int s_n = 0;
char fh[100005];//符号
int f_n = 0;
char lastch=' ',ch;
int main ()
{
//freopen("123.in","r", stdin);
memset(sz, 0, sizeof(sz));
int i = 0;
ch = getchar();
while(ch!='\n')
{
if (ch=='+'||ch=='*') fh[++f_n] = ch;
if (ch>='0'&&ch<='9')
{
if(lastch>='0'&&lastch<='9')
{
sz[s_n] = (sz[s_n] * 10 + ch - '0') % 10000;
} else sz[++s_n] = ch - '0';
}
lastch = ch;
ch = getchar();
}
for (int i=1;i<=s_n;i++) bh[i] = i+1;
bh[s_n] = 10000000;
for (int i=1;i<=f_n;i++)
{
if(fh[i]=='*')
{
sz[bh[i]] = sz[i] * sz[bh[i]] % 10000;
sz[i] = 765428;
}
}
int tot = 0;
for (int i=1;i<=s_n;i=bh[i])
{
if (sz[i]!=765428)
tot = (tot+sz[i])%10000;
}
printf("%d\n", tot);
return 0;
}
相关文章推荐
- [NOIP2013]表达式求值 T2 模拟
- [NOIP 2013 PJ]表达式求值
- NOIP2013普及组 T2 表达式求值
- 【NOIP2013普及组P2】表达式求值(NKOJ2500)题解
- 【BSOJ1724】【bzoj3032】TYVJ P1924 【NOIP2013模拟】七夕祭
- 表达式求值 noip2013普及组t2
- NOIP2013普及组 T2 表达式求值
- NOIP2013 表达式求值
- NOIP2013普及组 T2 表达式求值
- 刷过一题之NOIP2013表达式求值
- 表达式求值 noip2013普及组t2
- 1180: [NOIP2013普及组]表达式求值
- [NOIP2013]表达式求值 T2 题解
- noip2013 表达式求值 (表达式求值加法与乘法)
- NOIP2013普及组 T2 表达式求值
- 【NOIP2013普及组P2】表达式求值
- 【NOIP2013模拟】Freda的传呼机
- |Tyvj|NOIP2013|动态规划|P3074 小朋友的数字
- JZOJ-senior-3423. 【NOIP2013模拟】Vani和Cl2捉迷藏
- JZOJsenior3484.【NOIP2013模拟联考10】密码(substring)