第四屆“藍橋杯”全國軟件專業人才設計與創業大賽選拔賽C/C++本科A組(題目及代碼)



第四屆“藍橋杯”全國軟件專業人才設計與創業大賽選拔賽C/C++本科A

考生須知:

l 考試開始後,選手首先下載題目到本機不被還原的盤符,並使用考場現場公佈的解壓密碼解壓試題。

l 考試時間爲9:00-13:00,共4個小時。13點整時間截止時,將無法提交答案。選手因考試結束不能提交答案的,責任由選手自負。

l 在考試強制結束前,選手可以主動結束考試(需要身份驗證),結束考試後將無法繼續提交或瀏覽答案。

l 選手可瀏覽自己已經提交的答案。

l 對同一題目,選手可多次提交答案,以最後一次提交的答案爲準。

l 選手切勿在提交的代碼中書寫“姓名”、“考號”,“院校名”等與身份有關的信息或其它與競賽題目無關的內容,否則成績無效。

l 選手必須通過瀏覽器方式提交自己的答案。選手在其它位置的作答或其它方式提交的答案無效。

l 試題包含三種類型:“結果填空”、“代碼填空”與“程序設計”。

結果填空題:要求選手根據題目描述直接填寫結果。求解方式不限。不要求源代碼。

把結果填空的答案直接通過網頁提交即可,不要書寫多餘的內容。

代碼填空題:要求選手在弄清給定代碼工作原理的基礎上填寫缺失的部分,使得程序邏輯正確、完整。所填寫的代碼不超過一條語句(即中間不能出現分號)。

把代碼填空的答案(僅填空處的答案,不包括題面已存在的代碼或符號)直接通過網頁提交即可,不要書寫多餘的內容。

注意選擇自己使用的編譯環境。

使用ANSI C/ANSI C++ 標準,不要依賴操作系統或編譯器提供的特殊函數。

程序設計題目:要求選手設計的程序對於給定的輸入能給出正確的輸出結果。考生的程序只有能運行出正確結果纔有機會得分

注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。

對於編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API

代碼中允許使用STL類庫,但不能使用MFCATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬於MFC類庫)。

注意: main函數需要返回0

注意所有依賴的函數必須明確地在源文件中 #include <xxx>, 不能通過工程設置而省略常用頭文件。

所有源碼必須在同一文件中。調試通過後,拷貝提交。

提交時,注意選擇所期望的編譯器類型。

 

1. 結果填空 (滿分4)

問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。

必須通過瀏覽器提交答案。

 

題目標題高斯日記

 

    大數學家高斯有個好習慣:無論如何都要記日記。

    他的日記有個與衆不同的地方,他從不註明年月日,而是用一個整數代替,比如:4210

    後來人們知道,那個整數就是日期,它表示那一天是高斯出生後的第幾天。這或許也是個好習慣,它時時刻刻提醒着主人:日子又過去一天,還有多少時光可以用於浪費呢?

    高斯出生於:1777430日。

    在高斯發現的一個重要定理的日記上標註着:5343,因此可算出那天是:17911215日。

    高斯獲得博士學位的那天日記上標着:8113   

    請你算出高斯獲得博士學位的年月日。

 

提交答案的格式是:yyyy-mm-dd, 例如:1980-03-21

 

請嚴格按照格式,通過瀏覽器提交答案。

注意:只提交這個日期,不要寫其它附加內容,比如:說明性的文字。

 

代碼:

#include<iostream>

using std::cin;
using std::cout;
using std::endl;

int main()
{
 int borndata[2]={1777,4};
 int mondays[12]={31,0,31,30,31,  30,31,31,30,31,  30,31};
 int data,i;
 cout<<"高斯日誌天數:8113"<<endl;
 data=8113;
 cout<<"日誌當天日期:";
 if(data>1)
 {
  borndata[1]++;
  data--;
 }
 for(i=0;data>mondays[borndata[1]-1];borndata[1]++)
 {
  data-=mondays[borndata[1]-1];
  if(borndata[1]==12)
  {
   borndata[0]++;
   borndata[1]=0;
   if((borndata[0]%4==0&&borndata[0]%100!=0)||borndata[0]%400==0)
    mondays[1]=29;
   else
    mondays[1]=28;
  }
  i++;
 }
 cout<<borndata[0]<<'-'<<borndata[1]<<'-'<<data<<endl;
 return 0;
}

 

2. 結果填空 (滿分6)

問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。

必須通過瀏覽器提交答案。

 

題目標題排它平方數

 

    小明正看着 203879 這個數字發呆。

    原來,203879 * 203879 = 4 15666 46641

    這有什麼神奇呢?仔細觀察,203879 是個6位數,並且它的每個數位上的數字都是不同的,並且它平方後的所有數位上都不出現組成它自身的數字。

    具有這樣特點的6位數還有一個,請你找出它!

    再歸納一下篩選要求:

    1. 6位正整數

    2. 每個數位上的數字不同

    3. 其平方數的每個數位不含原數字的任何組成數位

答案是一個6位的正整數。

請通過瀏覽器提交答案。

注意:只提交另一6位數,題中已經給出的這個不要提交。

注意:不要書寫其它的內容(比如:說明性的文字)。

 

代碼:

// textone.cpp : 定義控制檯應用程序的入口點。
//
#include "stdafx.h"
#include<iostream>
#include<vector>
#include<string>

using std::cout;
using std::endl;
using std::vector;
using std::string;

int _tmain(int argc, _TCHAR* argv[])
{
 int n,m,v_sum=11;
 long long  sum;
 char sum_c[13]={0},num_c[6]={0};
 for(long long m=100000;m<1000000;m++)
 {
  long temp=m;
  bool same=0;
  if(m==316227)
   v_sum++;
  for(int i=0;i<6;i++)
  {
   num_c[i]=temp%10;
   temp/=10;
  }
  for(int i=0;!same&&i<6;i++)
   for(int j=i+1;j<6&&!same;j++)
    if(num_c[i]==num_c[j])
     same=!same;
  if(same)       
   continue;
  sum=m*m; 
  for(int i=0;i<v_sum;i++)
  {
   sum_c[i]=sum%10;
   sum/=10;
  }
  for(int i=0;!same&&i<v_sum;i++)
   for(int j=0;j<6&&!same;j++)
    if(sum_c[i]==num_c[j])
      same=!same;
  if(same);
  else
  {
   cout<<m<<"^2=";
   for(int i=12;i>=0;i--)
   {
    n=sum_c[i];
    cout<<n;
   }
   cout<<endl;
  }
 }
 return 0;
}

 

3. 結果填空 (滿分6)

問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。

必須通過瀏覽器提交答案。

 

標題振興中華

 

    小明參加了學校的趣味運動會,其中的一個項目是:跳格子。

    地上畫着一些格子,每個格子裏寫一個字,如下所示:(也可參見p1.jpg

從我做起振

我做起振興

做起振興中

起振興中華

    比賽時,先站在左上角的寫着“從”字的格子裏,可以橫向或縱向跳到相鄰的格子裏,但不能跳到對角的格子或其它位置。一直要跳到“華”字結束。

    要求跳過的路線剛好構成“從我做起振興中華”這句話。

    請你幫助小明算一算他一共有多少種可能的跳躍路線呢?

答案是一個整數,請通過瀏覽器直接提交該數字。

注意:不要提交解答過程,或其它輔助說明類的內容。



代碼:

#include "stdafx.h"
#include "stdio.h"

#define num 7
int num_ways=0;
int times_down=0;

void hs(int *dire,int w)
{
int i,j;

for(i=w;i<num;i++,w++)
{
dire[i]=1;
times_down++;
if(times_down==3)
num_ways++;
else
hs(dire,w+1);
dire[i]=0;
times_down--;
}
}

int main(int argc, char* argv[])
{
int dire[num]={0};
int i,j;
hs(dire,0);
printf("ways:  %d\n",num_ways);
return 0;
}

 

4. 結果填空 (滿分13)

問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。

必須通過瀏覽器提交答案。

 

標題顛倒的價牌

 

    小李的店裏專賣其它店中下架的樣品電視機,可稱爲:樣品電視專賣店。

    其標價都是4位數字(即千元不等)。

    小李爲了標價清晰、方便,使用了預製的類似數碼管的標價籤,只要用顏色筆塗數字就可以了(參見p1.jpg)。

    這種價牌有個特點,對一些數字,倒過來看也是合理的數字。如:1 2 5 6 8 9 0 都可以。這樣一來,如果牌子掛倒了,有可能完全變成了另一個價格,比如:1958 倒着掛就是:8561,差了幾千元啊!! 

    當然,多數情況不能倒讀,比如,1110 就不能倒過來,因爲0不能作爲開始數字。

    有一天,悲劇終於發生了。某個店員不小心把店裏的某兩個價格牌給掛倒了。並且這兩個價格牌的電視機都賣出去了!

    慶幸的是價格出入不大,其中一個價牌賠了2百多,另一個價牌卻賺了8百多,綜合起來,反而多賺了558元。

    請根據這些信息計算:賠錢的那個價牌正確的價格應該是多少?

答案是一個4位的整數,請通過瀏覽器直接提交該數字。

注意:不要提交解答過程,或其它輔助說明類的內容。

 

5. 代碼填空 (滿分5)

問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式。

只要求填寫缺失的代碼部分,千萬不要畫蛇添足,填寫多餘的已有代碼或符號。

必須通過瀏覽器提交答案。

注意選擇自己使用的編譯環境。

 

題目標題:前綴判斷

 

    如下的代碼判斷 needle_start指向的串是否爲haystack_start指向的串的前綴,如不是,則返回NULL

    比如:"abcd1234" 就包含了 "abc" 爲前綴

char* prefix(char* haystack_start, char* needle_start)

{

char* haystack = haystack_start;

char* needle = needle_start;

while(*haystack && *needle){

if(______________________________) return NULL;  //填空位置

}

if(*needle) return NULL;

return haystack_start;

}

請分析代碼邏輯,並推測劃線處的代碼,通過網頁提交。

注意:僅把缺少的代碼作爲答案,千萬不要填寫多餘的代碼、符號或說明文字!!

 

6. 代碼填空 (滿分10)

問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式。

只要求填寫缺失的代碼部分,千萬不要畫蛇添足,填寫多餘的已有代碼或符號。

必須通過瀏覽器提交答案。

注意選擇自己使用的編譯環境。

 

標題:逆波蘭表達式

 

    正常的表達式稱爲中綴表達式,運算符在中間,主要是給人閱讀的,機器求解並不方便。

    例如:3 + 5 * (2 + 6) - 1

    而且,常常需要用括號來改變運算次序。

    相反,如果使用逆波蘭表達式(前綴表達式)表示,上面的算式則表示爲:

    - + 3 * 5 + 2 6 1

    不再需要括號,機器可以用遞歸的方法很方便地求解。

    爲了簡便,我們假設:

    1. 只有 + - * 三種運算符

    2. 每個運算數都是一個小於10的非負整數

    下面的程序對一個逆波蘭表示串進行求值。

    其返回值爲一個結構:其中第一元素表示求值結果,第二個元素表示它已解析的字符數。

struct EV

{

int result;  //計算結果 

int n;       //消耗掉的字符數 

};

struct EV evaluate(char* x)

{

struct EV ev = {0,0};

struct EV v1;

struct EV v2;

if(*x==0) return ev;

if(x[0]>='0' && x[0]<='9'){

ev.result = x[0]-'0';

ev.n = 1;

return ev;

}

v1 = evaluate(x+1);

v2 = _____________________________;  //填空位置

if(x[0]=='+') ev.result = v1.result + v2.result;

if(x[0]=='*') ev.result = v1.result * v2.result;

if(x[0]=='-') ev.result = v1.result - v2.result;

ev.n = 1+v1.n+v2.n;

return ev;

}

請分析代碼邏輯,並推測劃線處的代碼,通過網頁提交。

注意:僅把缺少的代碼作爲答案,千萬不要填寫多餘的代碼、符號或說明文字!!

 

7. 程序設計(滿分4分)

問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。

注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。

仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多餘的內容,例如:“請您輸入xx數據:”。

建議仔細閱讀示例,不要想當然!

程序處理完一個用例的數據後,立即退出(return 0),千萬不要循環等待下一個用例的輸入。

程序必須使用標準輸入、標準輸出,以便於機器評卷時重定向。

對於編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API

代碼中允許使用STL類庫,但不能使用MFCATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬於MFC類庫)。

注意: main函數結尾需要return 0

注意所有依賴的函數必須明確地在源文件中 #include <xxx>, 不能通過工程設置而省略常用頭文件。

所有代碼放在同一個源文件中,調試通過後,拷貝提交該源碼。

提交時,注意選擇所期望的編譯器類型。

 

標題:錯誤票據

 

    某涉密單位下發了某種票據,並要在年終全部收回。

    每張票據有唯一的ID號。全年所有票據的ID號是連續的,但ID的開始數碼是隨機選定的。

    因爲工作人員疏忽,在錄入ID號的時候發生了一處錯誤,造成了某個ID斷號,另外一個ID重號。

    你的任務是通過編程,找出斷號的ID和重號的ID

    假設斷號不可能發生在最大和最小號。

要求程序首先輸入一個整數N(N<100)表示後面數據行數。

接着讀入N行數據。

每行數據長度不等,是用空格分開的若干個(不大於100個)正整數(不大於100000

每個整數代表一個ID號。

 

要求程序輸出1行,含兩個整數m n,用空格分隔。

其中,m表示斷號IDn表示重號ID

 

例如:

用戶輸入:

2

5 6 8 11 9 

10 12 9

 

則程序輸出:

7 9

 

 

再例如:

用戶輸入:

6

164 178 108 109 180 155 141 159 104 182 179 118 137 184 115 124 125 129 168 196

172 189 127 107 112 192 103 131 133 169 158 

128 102 110 148 139 157 140 195 197

185 152 135 106 123 173 122 136 174 191 145 116 151 143 175 120 161 134 162 190

149 138 142 146 199 126 165 156 153 193 144 166 170 121 171 132 101 194 187 188

113 130 176 154 177 120 117 150 114 183 186 181 100 163 160 167 147 198 111 119

 

則程序輸出:

105 120

   

資源約定:

峯值內存消耗 < 64M

CPU消耗  < 1000ms

 

請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多餘內容。

所有代碼放在同一個源文件中,調試通過後,拷貝提交該源碼。

注意: main函數需要返回0

注意只使用ANSI C/ANSI C++ 標準,不要調用依賴於編譯環境或操作系統的特殊函數。

注意所有依賴的函數必須明確地在源文件中 #include <xxx>, 不能通過工程設置而省略常用頭文件。

提交時,注意選擇所期望的編譯器類型。

 

8. 程序設計(滿分12分)

問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。

注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。

仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多餘的內容,例如:“請您輸入xx數據:”。

建議仔細閱讀示例,不要想當然!

程序處理完一個用例的數據後,立即退出(return 0),千萬不要循環等待下一個用例的輸入。

程序必須使用標準輸入、標準輸出,以便於機器評卷時重定向。

對於編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API

代碼中允許使用STL類庫,但不能使用MFCATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬於MFC類庫)。

注意: main函數結尾需要return 0

注意所有依賴的函數必須明確地在源文件中 #include <xxx>, 不能通過工程設置而省略常用頭文件。

所有代碼放在同一個源文件中,調試通過後,拷貝提交該源碼。

提交時,注意選擇所期望的編譯器類型。

 

標題:買不到的數目

 

    小明開了一家糖果店。他別出心裁:把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。

    小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數目是無法組合出來的,比如要買 10 顆糖。

    你可以用計算機測試一下,在這種包裝情況下,最大不能買到的數量是17。大於17的任何數字都可以用47組合出來。

    本題的要求就是在已知兩個包裝的數量時,求最大不能組合出的數字。

輸入:

兩個正整數,表示每種包裝中糖的顆數(都不多於1000)

 

要求輸出:

一個正整數,表示最大不能買到的糖數

 

例如:

用戶輸入:

4 7

程序應該輸出:

17

 

再例如:

用戶輸入:

3 5

程序應該輸出:

7

 

 

資源約定:

峯值內存消耗 < 64M

CPU消耗  < 3000ms

 

 

請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多餘內容。

 

所有代碼放在同一個源文件中,調試通過後,拷貝提交該源碼。

 

注意: main函數需要返回0

注意只使用ANSI C/ANSI C++ 標準,不要調用依賴於編譯環境或操作系統的特殊函數。

注意所有依賴的函數必須明確地在源文件中 #include <xxx>, 不能通過工程設置而省略常用頭文件。

 

提交時,注意選擇所期望的編譯器類型。

 

9. 程序設計(滿分16分)

問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。

注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。

仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多餘的內容,例如:“請您輸入xx數據:”。

建議仔細閱讀示例,不要想當然!

程序處理完一個用例的數據後,立即退出(return 0),千萬不要循環等待下一個用例的輸入。

程序必須使用標準輸入、標準輸出,以便於機器評卷時重定向。

對於編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API

代碼中允許使用STL類庫,但不能使用MFCATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬於MFC類庫)。

注意: main函數結尾需要return 0

注意所有依賴的函數必須明確地在源文件中 #include <xxx>, 不能通過工程設置而省略常用頭文件。

所有代碼放在同一個源文件中,調試通過後,拷貝提交該源碼。

提交時,注意選擇所期望的編譯器類型。

 

標題:剪格子

 

    如圖p1.jpg所示,3 x 3 的格子中填寫了一些整數。

    我們沿着圖中的紅色線剪開,得到兩個部分,每個部分的數字和都是60

    本題的要求就是請你編程判定:對給定的m x n 的格子中的整數,是否可以分割爲兩個部分,使得這兩個區域的數字和相等。

    如果存在多種解答,請輸出包含左上角格子的那個區域包含的格子的最小數目。   

    如果無法分割,則輸出 0

程序輸入輸出格式要求:

程序先讀入兩個整數 m n 用空格分割 (m,n<10)

表示表格的寬度和高度

接下來是n行,每行m個正整數,用空格分開。每個整數不大於10000

程序輸出:在所有解中,包含左上角的分割區可能包含的最小的格子數目。

 

例如:

用戶輸入:

3 3

10 1 52

20 30 1

1 2 3

 

則程序輸出:

3

 

再例如:

用戶輸入:

4 3

1 1 1 1

1 30 80 2

1 1 1 100

 

則程序輸出:

10

 

(參見p2.jpg)

 

資源約定:

峯值內存消耗 < 64M

CPU消耗  < 5000ms

 

請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多餘內容。

 

所有代碼放在同一個源文件中,調試通過後,拷貝提交該源碼。

 

注意: main函數需要返回0

注意只使用ANSI C/ANSI C++ 標準,不要調用依賴於編譯環境或操作系統的特殊函數。

注意所有依賴的函數必須明確地在源文件中 #include <xxx>, 不能通過工程設置而省略常用頭文件。

 

提交時,注意選擇所期望的編譯器類型。

 

10. 程序設計(滿分24分)

問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。

注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。

仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多餘的內容,例如:“請您輸入xx數據:”。

建議仔細閱讀示例,不要想當然!

程序處理完一個用例的數據後,立即退出(return 0),千萬不要循環等待下一個用例的輸入。

程序必須使用標準輸入、標準輸出,以便於機器評卷時重定向。

對於編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API

代碼中允許使用STL類庫,但不能使用MFCATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬於MFC類庫)。

注意: main函數結尾需要return 0

注意所有依賴的函數必須明確地在源文件中 #include <xxx>, 不能通過工程設置而省略常用頭文件。

所有代碼放在同一個源文件中,調試通過後,拷貝提交該源碼。

提交時,注意選擇所期望的編譯器類型。

 

標題:大臣的旅費

 

    很久以前,T王國空前繁榮。爲了更好地管理國家,王國修建了大量的快速路,用於連接首都和王國內的各大城市。

    爲節省經費,T國的大臣們經過思考,制定了一套優秀的修建方案,使得任何一個大城市都能從首都直接或者通過其他大城市間接到達。同時,如果不重複經過大城市,從首都到達每個大城市的方案都是唯一的。

    JT國重要大臣,他巡查於各大城市之間,體察民情。所以,從一個城市馬不停蹄地到另一個城市成了J最常做的事情。他有一個錢袋,用於存放往來城市間的路費。

    聰明的J發現,如果不在某個城市停下來修整,在連續行進過程中,他所花的路費與他已走過的距離有關,在走第x千米到第x+1千米這一千米中(x是整數),他花費的路費是x+10這麼多。也就是說走1千米花費11,走2千米要花費23

    J大臣想知道:他從某一個城市出發,中間不休息,到達另一個城市,所有可能花費的路費中最多是多少呢?

 

輸入格式:

輸入的第一行包含一個整數n,表示包括首都在內的T王國的城市數

城市從1開始依次編號,1號城市爲首都。

接下來n-1行,描述T國的高速路(T國的高速路一定是n-1條)

每行三個整數Pi, Qi, Di,表示城市Pi和城市Qi之間有一條高速路,長度爲Di千米。

 

輸出格式:

輸出一個整數,表示大臣J最多花費的路費是多少。

 

樣例輸入:

5

1 2 2

1 3 1

2 4 5

2 5 4

 

樣例輸出:

135

 

樣例說明:

大臣J從城市4到城市5要花費135的路費。

 

資源約定:

峯值內存消耗 < 64M

CPU消耗  < 5000ms

 

請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多餘內容。

 

所有代碼放在同一個源文件中,調試通過後,拷貝提交該源碼。

 

注意: main函數需要返回0

注意只使用ANSI C/ANSI C++ 標準,不要調用依賴於編譯環境或操作系統的特殊函數。

注意所有依賴的函數必須明確地在源文件中 #include <xxx>, 不能通過工程設置而省略常用頭文件。

 

提交時,注意選擇所期望的編譯器類型。 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章