作者biconnect (^^....{[( )]})
看板b92902xxx
標題Re: 以前的題目..(二)
時間Sat Oct 11 22:05:19 2003
第一題的...我實在懶的寫dp的正規解了
就來個怪怪的解法吧..不過不知道精確度會不會出問題^^
還有這只能跑小測資..別叫他跑什麼C(200, 100)...
不過這是歪解啦..有正解就蓋過去吧^^
#include<stdio.h>
#include<math.h>
#define MAX 200
int main(){
double base[MAX];
int i;
int m, n;
double ans;
freopen("combine.txt","r",stdin);
base[1] = 0;
for(i = 2; i < MAX; i++)
base[i] = base[i - 1] + log10(i);
while(scanf("%d %d", &m ,&n) == 2) {
ans = base[m] - base[n] - base[m - n];
printf("%.0lf\n", pow(10, ans));
}
}
※ 引述《biconnect (^^....{[( )]})》之銘言:
: 第五題的...
: #include<stdio.h>
: #define LINE 4 //每邊有幾個字元
: int main() {
: freopen("font.txt","r",stdin);
: int index = 0;
: char putin;
: while(index < LINE*LINE) {
: scanf("%c",&putin);
: if(putin - '0')
: printf("*");
: else
: printf(" ");
: if(++index % LINE == 0)
: printf("\n");
: }
: }
: ※ 引述《babysilkwarm (鞋子廢了!!)》之銘言:
: : 1. 計算組合數程式。
: : 已知C(m,n)= m! / (m-n)!*n! ,其中0<m<200, 0<n<200且
: : n! = n*(n-1)*(n-2)* ...*2*1。
: : 請從磁片combine.txt檔案中讀入若干組m,n的資料,每組一列,計算出每組m,n的組合數。
: : 例如:
: : combine.txt檔案的內容為:
: : 5 3
: : 17 5
: : 30 24
: : 輸出:
: : 5 3 的組合數為 10
: : 17 5 的組合數為 6188
: : 30 24 的組合數為 593775
: : 2. 解析e-mail帳號程式。
: : 假設我們規定所有e-mail的帳號型態如下:
: : boy@cc.ncue.edu.tw
: : 此帳號可解析為:
: : 使用者名稱:boy
: : 伺服器名稱:cc
: : 機關名稱:ncue
: : 組織名稱:edu
: : 國家名稱:tw
: : 請設計一程式可以從鍵盤輸入e-mail帳號,解析出此e-mail帳號的機關名稱。
: : 3. 模擬老鼠走迷宮遊戲
: : 有一個10X10大小的迷宮(請從磁片Magic.txt檔案中讀入迷宮資料,其中O代表通路,X代
: : 表此路不通,S代表入口,E代表出口),請模擬老鼠從入口進入,然後找出一條路徑可以到
: : 達出口。請依序輸出以下兩種結果:(1)第一次嘗試時,請以@逐步標示老鼠所有走過的路徑
: : ,(2)第二次執行時,請根據第一次尋找路徑獲得的知識,模擬從入口到出口的最短路徑(請
: : 以@標示路徑)。
: : 例如:
: : Magic.txt 的資料內容如下:
: : XXXXXXXXXX
: : XOOOOOOOXX
: : XOXOXOXXOE
: : XXOXOOXOOX
: : XXOXOOOXOX
: : SOOOOXOOOX
: : XOOOXOXOOX
: : XOXOOOXOXX
: : XOOXOXOOXX
: : XXXXXXXXXX
: : 輸出:
: : (1)老鼠走過的路徑:
: : XXXXXXXXXX
: : XOOOOOOOXX
: : XOXOXOXX@E
: : XXOXOOXO@X
: : XXOX@@@X@X
: : S@@@@X@@@X
: : XOOOXOX@@X
: : XOXOOOX@XX
: : XOOXOX@@XX
: : XXXXXXXXXX
: : (2)最短路徑:
: : XXXXXXXXXX
: : XOOOOOOOXX
: : XOXOXOXX@E
: : XXOXOOXO@X
: : XXOX@@@X@X
: : S@@@@X@@@X
: : XOOOXOXOOX
: : XOXOOOXOXX
: : XOOXOXOOXX
: : XXXXXXXXXX
: : 4. 模擬一砲兵發射一砲彈,射擊距離D,高度H的一個目標。
: : 使用者輸入砲彈的速度v,目標的距離D與高度H,求出砲彈應以多少仰角度θ(徑度量)發
: : 射,多少時間t(秒)後射中目標?並請繪出砲彈的飛行軌跡。
: : 請參考下面運動公式:
: : H(高度)= v(砲彈速度)×sinθ×t(時間)- (1/2) ×g (重力加速度) × t2
: : D(距離)= v ×cosθ×t
: : g 為 9.8 公尺/秒2,θ為徑度量(0 ~ π/2),速度單位為 公尺/秒,時間單位為秒,高度
: : 與距離單位為公尺。
: : 註:1.砲彈與目標物之距離在1公尺內視同命中目標。
: : 2.若使用者輸入之數據超過砲彈所能達到的範圍,請於螢幕上告知使用者。
: : 例如:
: : 輸入:
: : 砲彈的速度v:300
: : 目標的距離D:2000
: : 目標的高度H:500
: : 輸出:
: : 砲彈發射仰角度θ: 0.357589 度
: : 射中目標時間t: 7.11686 秒
: : 參考測試資料:
: : 1. 輸入:v = 100,D = 500,H = 100 輸出:θ = 0.468175 t =5.60291
: : 2. 輸入:v = 400,D = 2500,H = 150 輸出:θ = 0.136802 t =6.30894
: : 3. 輸入:v = 200,D = 50000,H = 500 輸出:無法命中目標
: : 5. 一個NxN之中文字型總共會有N*N個位元(bit) 所組成,這些位元依序代表每一橫列中的
: : 每一直欄是否要顯示亮點的對應位元值,"1"表示要顯示亮點,"0"表示不顯示亮點。以下
: : 我們寫一程式模擬顯示字型之動作。
: : 有一個文字檔font.txt存放著由字元0與1所組成且長度為256之字串,也就是代表一個16x1
: : 6之中文字型。請設計一程式根據以下之規則,將此一中文字型顯示在螢幕上:依序讀出字
: : 串中的每一個字元,如果讀出的字元是1則顯示"*",否則則顯示空白字元,而且每讀出十
: : 六個字元即必須換行顯示。
: : 例如:
: : 為了說明方便,我們以4x4的中文字型舉例。因為一個4x4的中文字型是由16個點所組成,
: : 所以檔案中會存放16個字元,假設其內容是1111001001001000,則會於螢幕輸出以下四行
: : 之結果:
: : ****
: : *
: : *
: : *
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.72.104.6
※ 編輯: biconnect 來自: 211.72.104.6 (10/11 22:06)
※ 編輯: biconnect 來自: 211.72.104.6 (10/11 22:10)
※ 編輯: biconnect 來自: 211.72.104.6 (10/11 22:13)
→ Favonia:可以叫你歪解王嗎... 推 203.64.26.1 10/11
※ 編輯: biconnect 來自: 211.72.104.6 (10/11 22:31)
→ flyhermit:為什麼我看到了log...|| 推 210.85.134.246 10/11
→ biconnect:LOG好呀!!! 推 211.72.104.6 10/11
→ biconnect:ACM用這個解只有一題會掛耶^^其他都過 推 211.72.104.6 10/11