演算法
競賽入門經典(第2版)第4章 函式和遞迴
習題4-4骰子塗色
uva253
感悟。
2、位置擺在1位置的面有6種可能,位置擺在2位置的面有4種可能,共計24種可能。
3、第一種思路,將24種可能列舉列出。
4、第二種思路,找規律,將24種可能用程式算出。
5、不管用哪種思路,先對1擺在1位置的6種可能進行列舉,還真找到了點規律。
6、對面之和為7,只要前三個面序號知道,另三個面就可以算出。
7、1-6對面,2-5對面,3-4對面。
8、再針對2位置的4種可能進行列舉,格式如下:
1位置 俯視順時針
1 2 3 5 4
2 1 4 6 3
3 1 2 6 5
4 1 5 6 2
5 1 3 6 4
6 2 4 5 3
9、有了思路後,編碼很快,稍作除錯,通過樣例。提交ac,當天搞定,此題就難度而言,相比前幾道,可定義為水題。
附上ac**,執行環境dev-c++4.9.9.2
#include
#include
char figure[30][10];
void printb()
printf("\n");}}
int main();
int rcount,ccount;
int pos;
int find;
while(scanf("%s",source)!=eof)
rcount=0;
for(i=1;i<=6;i++)
}find=0;
for(i=1;i<=24;i++)
if(j==7)
}//printb();
if(find==1)else
}return 0;
}
UVa 253 骰子塗色
這道題,剛看到有點不知道怎麼入手。緊接著數學的思維在頭腦裡發散,覺得可以判斷兩個正方體三組對立面是否相同,提交以後是ac。但是去進行debug的時候發現有一些資料是過不了的,如 rgrgrb rggrrb 畫了下圖發現確實這兩個正方體好像就是不太一樣,無法旋轉成一致的,但是三組對立面都是相同的。找了...
習題4 4uva253 骰子塗色
這題emmm本來想找規律的,結果莫得規律只得爆摸 看劉大大寫的那弄那24種排列用了我看不懂的東西 但其實自己模擬,會特別簡單,如圖 其實也就3種情況 每一種中間4個走個輪迴就4種了 所以有12種,然後上下顛倒你會發現,其實只要把你原來的12種從後往前讀即可 所以24種,不說了,卡在這麼水的一題2天 ...
UVA253 骰子塗色 C語言實現
如果乙個骰子經過旋轉可以得到另乙個骰子,那麼這兩個骰子就是等價的。骰子可以往三個方向旋轉,如圖所示,分別是沿x軸,沿y軸,沿z軸。所以只要編寫三個旋轉函式即可。include include include include intcmp 判斷兩個骰子是否等價 voidy 沿y軸旋轉 voidx 沿x...