pzz
C++博客
|
首頁
|
發(fā)新隨筆
|
發(fā)新文章
|
聯(lián)系
|
聚合
|
管理
隨筆:8 文章:35 評(píng)論:3 引用:0
校賽之編譯器
這一題可以說是字符串的模擬題,而在當(dāng)時(shí)思路沒有很清晰的情況下,就馬上開始敲鍵盤了,只是認(rèn)為這一題不難,應(yīng)該很快就可以解出來的,但是在編碼過程中遇到了不少問題,這些問題直接影響了思維,加之現(xiàn)場的壓力,后來就越來越亂了,呼呼。。以后要注意一定要思路清晰,在紙上可以模擬下問題的解決思路,必須的透徹,這是很重要的!
問題描述如下:
一開始給定一些變量以及相對(duì)應(yīng)的值,以%%%結(jié)尾,最后給出一些表達(dá)式的值,然我們求表達(dá)式的值是多少,形式如:
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;
//
操作數(shù)1
47
int
num1;
//
數(shù)值
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
//
接著再讀入一個(gè)字符和字符串
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
發(fā)表于 2012-05-07 18:36
pzz
閱讀(202)
評(píng)論(0)
編輯
收藏
引用
所屬分類:
字符串匹配
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
校賽之編譯器
AC自動(dòng)機(jī)
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
<
2025年8月
>
日
一
二
三
四
五
六
27
28
29
30
31
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
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
給我留言
查看公開留言
查看私人留言
隨筆分類
一些記錄(4)
(rss)
一些算法思路(2)
(rss)
隨筆檔案
2013年2月 (1)
2012年5月 (7)
文章分類
ACM 搜索(1)
(rss)
ahstu_oj(2)
(rss)
c/c++(8)
(rss)
c++基本常識(shí)(1)
(rss)
linux嵌入式(5)
(rss)
linux系統(tǒng)下遇到的奇怪問題(1)
(rss)
oj題目思路(2)
(rss)
操作系統(tǒng)(1)
(rss)
成長記錄
(rss)
讀書(1)
(rss)
九度oj(1)
(rss)
龐果會(huì)英雄挑戰(zhàn)賽(1)
(rss)
深入理解計(jì)算機(jī)系統(tǒng)札記
(rss)
樹狀數(shù)組(1)
(rss)
思維火花
(rss)
算法學(xué)習(xí)(1)
(rss)
網(wǎng)絡(luò)流
(rss)
線段樹
(rss)
雜感
(rss)
狀態(tài)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小加
搜索
最新評(píng)論
1.?re: 樹狀數(shù)組和線段樹簡單題
。。。
--pzz
2.?re: 2013我有夢(mèng)
恩,是的
--pzz
3.?re: 2013我有夢(mèng)[未登錄]
支持一吧!實(shí)踐夢(mèng)想需要極大的努力
--true
閱讀排行榜
1.?2013我有夢(mèng)(402)
2.?熟練才是王道 (274)
3.?nyoj195_飛翔(273)
4.?hfut1245_水晶球(273)
5.?群賽(240)
評(píng)論排行榜
1.?2013我有夢(mèng)(2)
2.?熟練才是王道 (0)
3.?nyoj195_飛翔(0)
4.?教訓(xùn)(0)
5.?群賽(0)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 pzz
99久久精品费精品国产
|
亚洲国产精品久久久久婷婷老年
|
久久99热只有频精品8
|
久久青青草原国产精品免费
|
久久亚洲精品国产精品婷婷
|
久久久久亚洲AV无码网站
|
成人精品一区二区久久
|
99精品国产综合久久久久五月天
|
丰满少妇高潮惨叫久久久
|
国产精品丝袜久久久久久不卡
|
欧美国产成人久久精品
|
狠狠色丁香久久婷婷综
|
久久无码国产专区精品
|
91精品日韩人妻无码久久不卡
|
热re99久久精品国99热
|
久久精品国产99国产精品
|
色综合久久综合网观看
|
99精品久久久久中文字幕
|
亚洲香蕉网久久综合影视
|
久久99这里只有精品国产
|
国产精品日韩欧美久久综合
|
国产精品久久久久久一区二区三区
|
久久99九九国产免费看小说
|
亚洲午夜久久影院
|
99久久99久久精品国产片果冻
|
色8久久人人97超碰香蕉987
|
亚洲精品无码久久久久
|
精品久久人人爽天天玩人人妻
|
精品国产乱码久久久久软件
|
久久精品无码一区二区三区日韩
|
亚洲欧美精品伊人久久
|
天天久久狠狠色综合
|
国产三级观看久久
|
久久久噜噜噜久久
|
久久精品国产精品亚洲艾草网美妙
|
国产精品99久久久久久猫咪
|
久久久久久A亚洲欧洲AV冫
|
久久影视综合亚洲
|
久久精品国产亚洲AV久
|
亚洲午夜久久久影院伊人
|
久久Av无码精品人妻系列
|