yoyouhappy的秘密花園
歡迎來到我的秘密花園^^
C++博客
首頁
新隨筆
新文章
聯系
聚合
管理
posts - 16,comments - 33,trackbacks - 0
<
2007年8月
>
日
一
二
三
四
五
六
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
7
8
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(2)
給我留言
查看公開留言
查看私人留言
隨筆分類
acm/icpc(6)
yoyo's dairy(2)
yoyo的解題報告(8)
學習筆記(7)
轉載(3)
自言自語(1)
隨筆檔案
2008年1月 (2)
2007年11月 (1)
2007年10月 (1)
2007年8月 (4)
2007年7月 (7)
2007年6月 (1)
blog
yoyo在百度的小屋
C++ study
C++ preference
OJ
JOJ
POJ
STL學習
center of STL study
STL中文站
yoyo's link
youtube
搜索
最新評論
1.?re: POJ 1002 487-3279
那是因為前面補0的原因! 比如 9 應該是 000-0009 而不是0-9
--buct
2.?re: JOJ 1101 DNA Sorting
好
--lxq
3.?re: POJ 1002 487-3279
評論內容較長,點擊標題查看
--原版橘子皮
4.?re: POJ 1018 Communication System
我覺得你的做法有問題.
--infinity
5.?re: POJ 1088 滑雪[未登錄]
@foxtail
請教 ^^
代碼是不太優美,請提供一些建議 thx~
--yoyouhappy
閱讀排行榜
1.?C++中vector的簡單用法 [zz](4512)
2.?POJ 1002 487-3279(3150)
3.?POJ 1088 滑雪(2484)
4.?POJ 1018 Communication System(2211)
5.?七種qsort排序方法 -------------zz自http://acm.zjnu.cn/show.asp?tab=arithmetic&id=36(1238)
評論排行榜
1.?POJ 1002 487-3279(6)
2.?JOJ 1101 DNA Sorting(5)
3.?POJ 1088 滑雪(5)
4.?七種qsort排序方法 -------------zz自http://acm.zjnu.cn/show.asp?tab=arithmetic&id=36(4)
5.?JOJ 1034 Worm Turns(4)
JOJ 1034 Worm Turns
WA了一次,最后發現竟然是多次計算時沒給result賦初值,改了以后就AC了~
題目是寫一個超簡化版的貪吃蛇,在50*50的矩陣中,起始位置是蛇頭位于的(25,30),蛇尾在(25,11),蛇占20個格。蛇可以向E W N S四個方向移動,當然不能反向移動,也不能撞倒自己或者撞倒墻.
輸入多組case,每組是一串字符,表示每次的移動方向.
輸出是否能完成這些移動,如果不能,就判斷是在第幾次移動時撞倒自己還是墻.
我的思路是 在矩陣中,將蛇占據的位置用1標記,將蛇頭到蛇尾的20個坐標存入一個vector,然后每次移動,先判斷是否撞倒墻,如果沒撞倒墻,就先將蛇尾刪除,將舊蛇頭的位置置0(新蛇頭可以是舊蛇尾 ),再將新的蛇頭存入vector,判斷新的蛇頭所在的位置是否為0,若為被占據,則置1,繼續移動.
覺得自己寫得很冗余,開始時只記錄了蛇頭和蛇尾的坐標,以為根據蛇頭移動就可以判斷蛇尾的移動,寫著寫著就發現問題了,臨時加了個vector來存蛇的坐標,所以程序有點亂,也只有這樣了,以后再改改吧~
我的AC代碼:
1
#include
<
iostream
>
2
#include
<
vector
>
3
#include
<
string
>
4
using namespace std;
5
struct point
6
{
7
int
row;
8
int
col;
9
};
10
int
main()
11
{
12
int
i,j,n,index,result
=
1
;
13
string
moves;
14
char move;
15
point p;
16
vector
<
point
>
v;
17
while
(
1
)
18
{
19
result
=
1
;
20
cin
>>
n;
21
if
(n
==
0
)break;
22
23
int
s[
50
][
50
]
=
{
0
};
24
int
fristr
=
24
,fristc
=
29
,lastr
=
24
,lastc
=
10
;
25
cin
>>
moves;
26
for
(j
=
10
;j
<
30
;j
++
)
27
{
28
s[
24
][j]
=
1
;
29
p.row
=
24
;
30
p.col
=
j;
31
v.push_back(p);
32
}
33
for
(index
=
0
;index
<
n;index
++
)
34
{
35
move
=
moves[index];
36
if
(move
==
'
E')++fristc;
37
if
(move
==
'
W')--fristc;
38
if
(move
==
'
N')--fristr;
39
if
(move
==
'
S')++fristr;
40
if
(fristr
*
(fristr
-
49
)
>
0
||fristc
*
(fristc
-
49
)
>
0
)
41
{
42
cout
<<
"
The worm ran off the board on move
"
<<
index
+
1
<<
"
.
"
<<
endl;
43
result
=
0
;
44
break;
45
}
46
v.erase(v.begin());
47
p.row
=
fristr;
48
p.col
=
fristc;
49
v.push_back(p);
50
s[lastr][lastc]
=
0
;
51
lastr
=
v[
0
].row;
52
lastc
=
v[
0
].col;
53
if
(s[fristr][fristc])
54
{
55
cout
<<
"
The worm ran into itself on move
"
<<
index
+
1
<<
"
.
"
<<
endl;
56
result
=
0
;
57
break;
58
}
59
s[fristr][fristc]
=
1
;
60
}
61
if
(result)printf(
"
The worm successfully made all %d moves.\n
"
, n);
62
v.clear();
63
getchar()
64
}
65
}
66
posted on 2007-08-17 08:48
yoyouhappy
閱讀(946)
評論(4)
編輯
收藏
引用
所屬分類:
yoyo的解題報告
、
acm/icpc
FeedBack:
#
re: JOJ 1034 Worm Turns
2007-08-17 14:01 |
tb
蛇頭如果與身體相撞 必然會形成一個矩形。可以根據輸入的字符串判斷出來。
但是在開始的時候(前20步)是個需要特別處理的情況
回復
更多評論
#
re: JOJ 1034 Worm Turns
2007-08-17 14:06 |
tb
再想了一下 不一定是矩形 但是在 東西 和 南北 方向上的位 肯定是0
回復
更多評論
#
re: JOJ 1034 Worm Turns
2007-08-17 14:09 |
tb
可以把輸入分為兩部分 一個只有南北 一個只有東西 (保持順序)然后看位移是不是0
回復
更多評論
#
re: JOJ 1034 Worm Turns
2007-08-18 10:36 |
yoyouhappy
@tb
不太明白你的意思。。。。
位移為什么會是0呢,誰的位移為0?我有點糊涂了
回復
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
POJ 1088 滑雪
POJ 1018 Communication System
暫時搬家
JOJ 1101 DNA Sorting
詭異阿~
JOJ 1034 Worm Turns
POJ 1002 487-3279
yoyo的假期作業
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Copyright ©2025 yoyouhappy Powered By
博客園
模板提供:
滬江博客
Priceline
Travel
日韩精品国产自在久久现线拍
|
久久99国产综合精品女同
|
国产精品久久久久jk制服
|
99麻豆久久久国产精品免费
|
久久99精品国产
|
青青青青久久精品国产h久久精品五福影院1421
|
欧美黑人又粗又大久久久
|
777米奇久久最新地址
|
a高清免费毛片久久
|
大美女久久久久久j久久
|
亚洲精品99久久久久中文字幕
|
99精品国产在热久久
|
久久黄视频
|
欧美精品久久久久久久自慰
|
99久久精品费精品国产
|
亚洲精品乱码久久久久久蜜桃不卡
|
国产91色综合久久免费
|
精品久久久久成人码免费动漫
|
99久久99这里只有免费费精品
|
久久久久久一区国产精品
|
国产精品久久久久久吹潮
|
久久无码AV一区二区三区
|
婷婷综合久久中文字幕
|
色8久久人人97超碰香蕉987
|
色综合久久88色综合天天
|
国产999精品久久久久久
|
久久精品a亚洲国产v高清不卡
|
99久久综合国产精品免费
|
狠狠色综合久久久久尤物
|
人妻无码αv中文字幕久久琪琪布
|
久久夜色撩人精品国产
|
久久91这里精品国产2020
|
国产精品99久久精品
|
精品无码久久久久国产
|
人妻精品久久久久中文字幕69
|
久久久久久无码国产精品中文字幕
|
久久久久久国产a免费观看黄色大片
|
久久这里只精品99re66
|
久久国产午夜精品一区二区三区
|
久久亚洲高清观看
|
久久av免费天堂小草播放
|