亂貼小站公告欄

目前分類:CMD程式 (103)

瀏覽方式: 標題列表 簡短摘要

原程式碼:

錯誤是錯在你的 cou() 在 n!=0 時沒有傳回值,所以不可以用成 ans=cou(n-1)*2;,這樣傳回來的值是未定義的數字。正確的改法如下:


和風信使 發表在 痞客邦 留言(1) 人氣()

我前三題都回答不太出來。
我對 C++ 比較熟,所以就用 C++ 寫給你啦:)

第四題:請寫一個C程式,使用遞迴函數列印出2的n次方式值

第五題:請使用C語言寫出程式來計算下列無窮序列前n項的和, 如:1+1/2根號2+1/3根號3+...


和風信使 發表在 痞客邦 留言(1) 人氣()


和風信使 發表在 痞客邦 留言(2) 人氣()

//原題目網址http://tw.knowledge.yahoo.com/question/question?qid=1509090204291

#define PROBLEM 1
//這裡把 1 更改成 2 就會執行第 2 題
#include<iostream>
using namespace std;

#if PROBLEM==1
int main()
{
  srand(time(NULL));
  float fa,fb;
  while(cin>>fa,cin.get(),cin>>fb)
  {
    int ia=fa*10000,ib=fb*10000;
    for(int i=0;i<6;i++)cout<<((rand()*10000+rand())%(ib-ia+1)+ia)*0.0001<<endl;
  }
  system("pause");
}
#endif
#if PROBLEM==2

和風信使 發表在 痞客邦 留言(0) 人氣()

※ 使用方式

gcc [option] filename

※ 選項

-c : 只做編譯(不做連結)
-S : 輸出組譯碼
-E : 將預處理結果顯示
-o filename : 指定輸出檔名
-ansi : 程式要求依據ansi c標準
-Dmacro : 使定義巨集(marco)為有效
-Dmarco=defn : 使定義巨集(marco)為defn
-Wa,option : 將選項(option)傳給組譯器
-wl,option : 將選項(option)傳給連結器
-I : 追加include檔案的搜尋路徑
-L : 追加library檔案的搜尋路徑
-l : 指定連結的函式庫
-Wall : 顯示所有的警告訊息
-g : 編入除錯資訊(要使用GDB除錯一定要加)

和風信使 發表在 痞客邦 留言(1) 人氣()


和風信使 發表在 痞客邦 留言(0) 人氣()

今天解的兩題題目都是發生這種不爽的情況
就是Zerojudge都過,但是ACM都不過....
有點灰心了.......
算了,先打題目丟一旁吧,去作其他事

//d275: 11586 - Train Tracks
#include<iostream>
#include<sstream>
using namespace std;

void fa(string& sa,string& sb)
{
  for(int i=0;2*i+1<sb.size();)
    if(sa[0]+sb[2*i+1]=='M'+'F')
    {
      sa[0]=sb[2*i];
      sb.erase(2*i);
      sb.erase(2*i);
      return fa(sa,sb);
    }
    else if(sa[1]+sb[2*i]=='M'+'F')

和風信使 發表在 痞客邦 留言(0) 人氣()

又是一題奇怪的題目了....
在Zerojudge上面是AC (題目請點我)
可是在ACM上面是WA ....
或許是我的功力退步了吧
努力找bug吧
如果有路過的好心人要幫我找錯當然是大大的歡迎喔

//d269: 11579 - Triangle Trouble  WA
#include<iostream>
#include<cmath>
using namespace std;

int comp(const void* a,const void* b)//由大到小
{
  if(*(double*)a>*(double*)b)return -1;
  if(*(double*)a==*(double*)b)return 0;
  if(*(double*)a<*(double*)b)return 1;
}

int main()
{

和風信使 發表在 痞客邦 留言(0) 人氣()

  • Jul 04 Sat 2009 15:40
  • wget

這個軟體跟C++有什麼關係呢??
因為它可以拿來抓網頁!
只要再寫一個程式就可以分析網頁啦^^
還支援登入功能喔
下面是不同的文章
我偷懶一點
就用顏色區分吧

意見者: artist ( 初學者 5 級 )
發表時間: 2009-07-02 01:39:25
[ 檢舉 ]
我剛看了 wget 他好像是要在 linux 下才可以用 雖然很方便
但是 現在不考慮用到 linux 呢 我如果理解錯誤麻煩告知喔 感激
!!!謝摟
002
意見者: artist ( 初學者 5 級 )
發表時間: 2009-07-02 02:20:54
[ 檢舉 ]
我剛去看找資料 好像用 php的 curl 比較快

和風信使 發表在 痞客邦 留言(0) 人氣()

http://luckycat.kshs.kh.edu.tw/homework/q10763.htm

題目

有一個非營利性的國際性機構執行一項國際交換學生計畫。這幾年來執行得相當好,有越來越多的學生想要參與這項計畫,所以現在請你來幫忙這個機構。

每個提出交換學生申請的人有2項資料:他來自哪一國,他想要交換到哪一國。這個計畫只有在每個學生都可以找到一個交換對象的時候才算成功。換句話 說,假如有一個學生想要從A國到B國,那麼一定要有另一個學生從B國到A國。如果只有50個學生提出申請,要判斷這計畫是否可行相當簡單,然而現在最多已 經有 500000 個學生了。

一開始我看到這個題目,我馬上想到用規規矩矩的方法,首先程式讀到a學生的兩個數字之後,讓程式去找資料庫,看看有沒有一個b學生剛好想去他的國家,然後將b想去的國家改成a想去的國家,然後在繼續找。如果都找不到,就把這筆資料丟入資料庫。只要最後資料庫還有剩下的資料,就代表配對不成功。
這樣的程式上傳之後是 TLE...於是,我又靈光一現的想到,把所有學生的資料讀完之後,再把兩個數字分別排序,這樣的話只要比較同一個 i 值時兩邊的數字有沒有一樣就好了,我把程式改成用選排之後,上傳的結果還是 TLE...
不得已,只好用現成的qsort函式了,雖然用起來心裡不是很踏實(我沒有背快排的程式碼....)改過之後再傳就 AC 了。

//10763 AC
#include<iostream>
#include<cstdlib>
using namespace std;

int na[1000000];
int comp(const void* a,const void* b)
{
  return *(int*)a-*(int*)b;
}

int main()
{
    int t1,ia,ib;

和風信使 發表在 痞客邦 留言(0) 人氣()

我利用解過百分比找到這一題看起來很簡單的題目
可是....明明就很簡單....為什麼會 TLE??
我還試者把 cout 改成 printf...可是結果還是一樣
為什麼??

要怎麼樣才會過勒??

//===============98/06/18
後來終於發現我的英文實在是太破了
他要的是以AaBb....Zz的順序
而且,他要你把重複的刪掉...
要把重複的刪掉其實也很簡單
就是不要跑到重複的就好了
在dfs的下一層判斷條件加上「不可以跟前一次下一層一樣字元」就行
可是...我的程式居然從 TLE 變成 WA ...
找不到哪裡錯= =



和風信使 發表在 痞客邦 留言(0) 人氣()

在 windows 系統上,C++ 的 system 函數就等同在 cmd 輸入指令,如果你對 cmd 的使用有所涉獵的話,就可以寫一些實用性較高的程式喔!我會陸續打出一些我曾經碰過的用法,若有錯誤請不吝指教,也希望大家分享一下自己的知識喔。

 
想要在 C++ 的程式碼裡使用 system 函式時,參數部分可以放入
[ 1.字串常數 / 2.字元陣列名稱 / 3.字串指標的名稱 / 4.string 變數 ]。範例如下:
1.  system("pause");
2.  char ca[100]="dir /s";
    system(ca);
3.  char* cb="cd /d c:\\";     //跳脫字元
    system(cb);
4.  string sa="測試";
    sa="title "+sa;
    system(sa.c_str());
注意:因為C++跳脫字元的規則,所以在遇到有('\')、('"')...等字元的時候需額外加上反斜線('\')。
 
以下為用法連結,這個方面我都是偶然接觸到的,請各位不吝指教。
3.system函數 - title (用途:更換視窗標題)
4.system函數 - dir (用途:檢視檔案)
5.system函數 - cd (用途:切換或查看路徑)

和風信使 發表在 痞客邦 留言(4) 人氣()

一位程式競賽過來人一路走來的心得。值得大家一看 :)

 PS: 據說還能讓不會寫程式的人嚮往而開始學習程式哦~~

追求神乎其計的程式設計之道

 關於作者 vgod


和風信使 發表在 痞客邦 留言(0) 人氣()

這些是剛剛在知識家看到的,發言者是 Dave ( 專家 1 級 ),以後有空再去翻翻。


http://www.comp.nus.edu.sg/~stevenha/programming/acmoj.html

這有滿多 acm 的解題提示… (很多題目都是點一下,告訴你這是什麼種類的問題,你大概就會了)

"Ad Hoc" 代表,沒什麼演算法,就隨便寫隨便過
"Simulation" 通常代表就忠實的模擬它問題裡的問題,就可得到正確答案
"DP" Dynamic Programming (不懂?代表你得去找找 Dynamic Programming 的資料,這題才比較有希望可以解)
"Backtracking" 一樣…


和風信使 發表在 痞客邦 留言(0) 人氣()

ACM-608 Counterfeit Dollar

內容:

Sally 有一打銀幣(十二個),可是只有11個是真的,有一個是假的(但是它的顏色和大小都和真的一樣)。還好那個假幣的重量和真的不一樣,不過 sally 不知道它到底是比真的輕還是重。

可喜的是, sally 有個朋友借他一個非常精準的天平,那個朋友同意讓 Sally 秤三次來找出假幣。例如,秤2個硬幣,結果天平平衡,那麼這2個都是真的。如果用其中的一個真的和第三個硬幣去秤,如果天平不平衡,那麼 sally就知道第三個硬幣是假的。同時他也可以根據天平來判斷那個假的到底是比真的輕還是重。Sally 會小心的選擇秤重的方法,這樣他才能用剛好秤三次找出那個硬幣是假的。

輸入說明:

輸入的第一列有一個整數 n,代表以下有幾組測試資料。

每組測試資料三列,每列代表一次秤重。Sally 把他的硬幣編號為A~L。每次秤重左右兩邊的硬幣用2個字串表示(Sally 總是在左右兩邊放相同數目的硬幣),秤重的結果用 up, down, even 來表示,代表天平的右邊是往上,往下,還是平衡。請參考Sample Input。

輸出說明:

對每一組測試資料輸出哪一個硬幣是假的,並且是較輕還是較重。請注意:答案一定是唯一的。輸出格式請參考Sample Output。

範例輸入:help

2
ABCD EFGH even
ABCI EFJK up
ABIJ EFGH even
ABC DEF up

和風信使 發表在 痞客邦 留言(0) 人氣()

取自http://chieh-min.blogspot.com/2009/01/lcs-lis.html
把他轉成LIS 是因為要追求O(nlogn)的速度

作法:
設有序列A,B。
記序列A中各個元素在B 中的位子(降序排列)
然後按在A中的位置依序列出
出按後求A的最長遞增子序列

例如:有A={a,b,a,c,x},B={b,a,a,b,c,a}
則有 a = {6,3,2} , b = {4,1} , c = {5} , x = / ;(注意降序排列)
然後按A中的次序排出
{ a(6,3,2) , b(4,1) , a(6,3,2) , c(5) , x( ) } = { 6,3,2,4,1,6,3,2,5 };
對此序列求最長遞增子序列即可~~

和風信使 發表在 痞客邦 留言(0) 人氣()

在得知了補考4科都過了以後
心中懸著的一顆石頭
終於放下了
至少
不用付那昂貴的學分費
貴死人的學分費
我知道我成績不是很好
2/19號就快要來了
水落石出的日子
說不清心中的感覺 是排拒 還是期待?
交大資工不知道是不是一個夢?
希望不是只能在中興!

和風信使 發表在 痞客邦 留言(3) 人氣()

#define PRO 1
//http://tw.knowledge.yahoo.com/question/question?qid=1509021006091
/*
1. 搜尋失竊車輛的車牌資料
假設:失竊車輛的號碼為AA0000、FF8888、BB1111、CC9999、DD4444

執行結果:
請輸入車牌號碼
AA4444
無相符號碼,不是失竊車輛

失竊車輛查詢系統
AA0000
資料吻合!此車牌可能為失竊車輛
*/
#if PRO==1
#include
#define NUM 5
using namespace std;

和風信使 發表在 痞客邦 留言(0) 人氣()

從大陸的某個論壇引用的,所以有一些不太一樣的詞請見諒。
1.題庫與網站資源
題庫-在線提交系統(Online Judge)簡介
    下面是幾個比較大的在線提交系統(Online Judge)裡面有大量歷年的競賽題目,一般都是註冊一個ID,然後用自己熟悉的語言(如Pascal/C/C++/Java)寫好原始碼上傳即可,通常網站會即時返回信息告訴你是否正確。 系統裡有一套標準的輸入輸出數據(對外保密,而且通常數據很多很怪),你的程式的輸出和標準輸出完全符合即可。
    常見的返回信息有AC(Accepted,通過)、WA(Wrong Answer,輸出有錯誤)、TLE(Time Limit Exceeded,超時)、MLE(Memory Limit Exceeded,內存溢出)、RE(Runtime Error,發生實時錯誤)等,只有AC了才算做對一題。
這裡只是一個簡要介紹,請大家在做題時先看看各網站上的FAQ,Enjoy it!

北京大學Online Judge(POJ)
<http://acm.pku.edu.cn/JudgeOnline/>
建立較晚,但題目加得很快,現在題數和ZOJ不相上下,特點是舉行在線比賽比較多,數據比ZOJ上的要弱,有時候同樣的題同樣的程序,在ZOJ上WA,在 POJ上就能AC。 不過感覺比pku的題目要難很多。這個題庫的一大特點就是Online Judge功能強大,其實pku現在已經是中國最好的ACM網站。

浙江大學Online Judge(ZOJ)
<http://acm.zju.edu.cn>
國內最早也是最有名氣的OJ,有很多高手在上面做題。打開速度快。

西班牙Valladolid大學Online Judge(UVA)
<http://acm.uva.es/>
世界上最大最有名的OJ,題目巨多而且巨雜,數據也很刁鑽,全世界的頂尖高手都在上面。據說如果你能在UVA上AC一千道題以上,就儘管向IBM、微軟什麼的發簡歷吧,絕對不會讓你失望的。

俄羅斯Ural立大學Online Judge(URAL)
<http://acm.timus.ru/>
也是一個老牌的OJ,題目不多,但題題經典,我在高中的時候就在這上面做題的。

俄羅斯薩拉托夫國立大學(Saratov State University)(SGU)
<http://acm.sgu.ru/>

和風信使 發表在 痞客邦 留言(0) 人氣()

  • Jan 16 Fri 2009 14:49
  • TPSC

這是在電研社版找到的題目,不要問我tpsc是啥,謝謝。
                            Problem 2 宴會
    一個龐大公司的董事長即將為他的長子舉辦婚禮,因此宴請了他公司中所有的員工參加這一場婚禮的慶祝會,但是該公司的員工全都有一種怪癖,就是他們不願意跟自己的直屬上司一起參加宴會(但是他們願意跟直屬上司的直屬上司一起參加)。或許是這世界人口太多,總讓人與人之間異常冷漠。
    你現在是承辦這一場慶祝會的餐廳老闆,十分的精打細算,恰巧得知了這家公司的員工全部都有這種怪癖,又獲得了這家公司所有員工的名單,正暗自欣喜不已,你將要計算出至少要準備多少人份的餐點(不可以讓來的人吃不夠)來舉辦這一個宴會,準確的估計最多的出席人數才能為你帶來最多的利潤。
輸入及輸出範例:
    輸入檔第一行將是一個整數N,告訴你這一家公司總共有N個員工,我們索性將員工編號,從1到N。從接下來的N行也各是一個整數,是每個員工的直屬上司編號(直屬上司至多一個人),沒有直屬上司的就是0,假定這N行中的第5行(就是輸入檔的第六行)是3,代表編號3號的員工是編號5號員工的上司。輸出僅需將最多出席的員工人數輸出成一行。

範例輸入檔一:
5
0
0
1
3
3

範例輸出檔一:
4

範例輸出檔二:
5

和風信使 發表在 痞客邦 留言(0) 人氣()