pzz
C++博客
|
首頁
|
發新隨筆
|
發新文章
|
聯系
|
聚合
|
管理
隨筆:8 文章:35 評論:3 引用:0
校賽之編譯器
這一題可以說是字符串的模擬題,而在當時思路沒有很清晰的情況下,就馬上開始敲鍵盤了,只是認為這一題不難,應該很快就可以解出來的,但是在編碼過程中遇到了不少問題,這些問題直接影響了思維,加之現場的壓力,后來就越來越亂了,呼呼。。以后要注意一定要思路清晰,在紙上可以模擬下問題的解決思路,必須的透徹,這是很重要的!
問題描述如下:
一開始給定一些變量以及相對應的值,以%%%結尾,最后給出一些表達式的值,然我們求表達式的值是多少,形式如:
aa = 34
bb = 45
cc = 56
%%%
aa + bb * cc
aa + bb - cc
-------------------------------------------------------------------------------------------------------------------
1
#include
<
iostream
>
2
#include
<
sstream
>
3
#include
<
string
>
4
#include
<
iterator
>
5
#include
<
map
>
6
#include
<
vector
>
7
using
namespace
std;
8
string
input;
9
map
<
string
,
int
>
my;
10
map
<
char
,
int
>
f;
11
vector
<
int
>
num;
12
vector
<
int
>
op;
13
void
init()
14
{
15
f[
'
+
'
]
=
1
;
16
f[
'
-
'
]
=
2
;
17
f[
'
*
'
]
=
3
;
18
f[
'
/
'
]
=
4
;
19
}
20
string
predeal(
string
s)
21
{
22
int
len
=
s.size();
23
for
(
int
i
=
0
;i
<
len;i
++
)
24
if
(s[i]
==
'
=
'
)
25
s[i]
=
'
'
;
26
return
s;
27
}
28
string
prevdeal2(
string
s)
29
{
30
int
len
=
s.size();
31
for
(
int
i
=
0
;i
<
len;i
++
)
32
if
(
!
isalnum(s[i])
&&
s[i]
!=
'
'
)
//
如果不是字符且不是空格
33
{
34
s[i]
=
f[s[i]]
+
'
0
'
;
35
}
36
return
s;
37
}
38
int
main()
39
{
40
string
s;
41
while
(getline(cin,s)
&&
s
!=
"
%%%
"
)
42
{
43
//
strlwr((char *)s.c_str());
44
input
=
predeal(s);
45
istringstream
in
(input);
46
string
op1;
//
操作數1
47
int
num1;
//
數值
48
in
>>
op1
>>
num1;
49
my[op1]
=
num1;
50
}
51
map
<
string
,
int
>
::iterator it;
52
init();
53
while
(getline(cin,s))
54
{
55
num.clear();
56
op.clear();
57
string
deal
=
prevdeal2(s);
58
string
ans;
59
int
len
=
s.size();
60
istringstream
in
(deal);
61
in
>>
ans;
62
num.push_back(my[ans]);
63
//
接著再讀入一個字符和字符串
64
int
op1;
65
string
ans2;
66
while
(
in
>>
op1
>>
ans2)
67
{
68
if
(op1
==
3
)
69
{
70
num.back()
*=
my[ans2];
71
}
72
else
if
(op1
==
4
)
73
{
74
num.back()
*=
my[ans2];
75
}
76
else
if
(op1
==
1
||
op1
==
2
)
77
{
78
op.push_back(op1);
79
num.push_back(my[ans2]);
80
}
81
}
82
int
res
=
num[
0
];
83
for
(
int
i
=
0
;i
<
op.size();i
++
)
84
{
85
if
(op[i]
==
1
)
86
{
87
res
+=
num[i
+
1
];
88
}
89
else
if
(op[i]
==
2
)
90
{
91
res
-=
num[i
+
1
];
92
}
93
}
94
cout
<<
"
the ans is:
"
<<
res
<<
endl;
95
}
96
system(
"
pause
"
);
97
}
98
發表于 2012-05-07 18:36
pzz
閱讀(197)
評論(0)
編輯
收藏
引用
所屬分類:
字符串匹配
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
校賽之編譯器
AC自動機
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
<
2025年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
給我留言
查看公開留言
查看私人留言
隨筆分類
一些記錄(4)
(rss)
一些算法思路(2)
(rss)
隨筆檔案
2013年2月 (1)
2012年5月 (7)
文章分類
ACM 搜索(1)
(rss)
ahstu_oj(2)
(rss)
c/c++(8)
(rss)
c++基本常識(1)
(rss)
linux嵌入式(5)
(rss)
linux系統下遇到的奇怪問題(1)
(rss)
oj題目思路(2)
(rss)
操作系統(1)
(rss)
成長記錄
(rss)
讀書(1)
(rss)
九度oj(1)
(rss)
龐果會英雄挑戰賽(1)
(rss)
深入理解計算機系統札記
(rss)
樹狀數組(1)
(rss)
思維火花
(rss)
算法學習(1)
(rss)
網絡流
(rss)
線段樹
(rss)
雜感
(rss)
狀態dp
(rss)
字符串匹配(2)
(rss)
文章檔案
2014年5月 (3)
2014年4月 (1)
2014年3月 (1)
2014年2月 (1)
2013年11月 (1)
2013年10月 (3)
2013年9月 (2)
2013年8月 (6)
2013年7月 (4)
2013年6月 (2)
2012年5月 (3)
2012年4月 (4)
2012年3月 (4)
友情鏈接
csdn
豆瓣
杭電酷行天下
老趙
劉若鵬
南陽c小加
搜索
最新評論
1.?re: 樹狀數組和線段樹簡單題
。。。
--pzz
2.?re: 2013我有夢
恩,是的
--pzz
3.?re: 2013我有夢[未登錄]
支持一吧!實踐夢想需要極大的努力
--true
閱讀排行榜
1.?2013我有夢(393)
2.?hfut1245_水晶球(269)
3.?nyoj195_飛翔(269)
4.?熟練才是王道 (265)
5.?群賽(237)
評論排行榜
1.?2013我有夢(2)
2.?熟練才是王道 (0)
3.?nyoj195_飛翔(0)
4.?教訓(0)
5.?群賽(0)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 pzz
狠狠色丁香久久婷婷综合
|
69久久夜色精品国产69
|
久久精品一区二区影院
|
久久精品无码专区免费
|
久久亚洲熟女cc98cm
|
久久久久亚洲AV片无码下载蜜桃
|
国产精品一久久香蕉国产线看
|
亚洲AⅤ优女AV综合久久久
|
日本五月天婷久久网站
|
jizzjizz国产精品久久
|
精品熟女少妇aⅴ免费久久
|
伊人久久综合无码成人网
|
久久亚洲国产中v天仙www
|
亚洲国产精品狼友中文久久久
|
亚洲人成网亚洲欧洲无码久久
|
777久久精品一区二区三区无码
|
综合久久久久久中文字幕亚洲国产国产综合一区首
|
日韩人妻无码一区二区三区久久
|
久久精品国产亚洲av麻豆小说
|
国产成人精品综合久久久
|
无码AV中文字幕久久专区
|
久久精品成人
|
久久精品国产99国产电影网
|
亚洲中文精品久久久久久不卡
|
久久精品人妻一区二区三区
|
国产美女久久精品香蕉69
|
精品综合久久久久久97
|
久久亚洲精品无码播放
|
亚洲国产成人久久精品动漫
|
国产精品美女久久久久
|
无码超乳爆乳中文字幕久久
|
热99RE久久精品这里都是精品免费
|
2021国产成人精品久久
|
99久久这里只有精品
|
久久精品国产亚洲AV香蕉
|
无码人妻久久一区二区三区
|
狠狠精品久久久无码中文字幕
|
久久亚洲熟女cc98cm
|
久久久国产精华液
|
久久精品国产亚洲AV不卡
|
久久强奷乱码老熟女网站
|