第二題:給定
n(3 £n
£50000)
個閉區間
[ai, bi](1 £i
£n, ai,bi
均為非負整數),將這些區間合併為不相交的閉區間。
輸入檔案
的第一行包含乙個整數n,為區間的數目。以下有n行,每行各包括兩個空格分隔的整數ai
和bi,表示乙個區間[ai, bi](0 £ai
£bi£1000000)
。計算結果寫在標準輸出上,
各區間按照公升序排列輸出。
每一行包含兩個用空格分開的整數,分別描述乙個區間的上下界。例如,對於下列輸入資料: 5
5 61 4
10 10
6 98 10
輸出為:
1 45 10
個人寫的具體實現,**如下:
#include
#include
#define len sizeof(struct area)
/*定義區間結構體*/
struct area ;
/*最後一次修正資料*/
void lastamend(area *head)
else
//刪除結點
p = myarea->next;
myarea->next = p->next;
free(p); }
} }/*按照左區間從小到大的順序插入節點*/
int insertnode(area *head, area *instertedarea)
head = head->next; }
head->next = instertedarea;
instertedarea->next = null;
return 0; }
/*第一次修正資料*/
void firstamend(area *headone, area *headtwo)
else if (headdynamic->second <= headtwotemp->second)
else if (headdynamic->second > headtwotemp->second)
} else
else if (headdynamic->second > headtwotemp->second)
else if (headdynamic->second <= headtwotemp->second)
} headtwotemp = headtwotemp->next; }
/*新建結點,插入到第二個鍊錶*/
if (sig)
/*移動到下乙個源資料,進行比較*/
freedarea = headdynamic;
headdynamic = headdynamic->next;
/*釋放的第乙個鍊錶中,剛遍歷的節點*/
free(freedarea); }
/*釋放第乙個鍊錶的頭節點*/
free(headone); }
int main(void)
} while(count<3 || count>50000);
/*輸入每個區間,並動態建立鍊錶*/
bool iswrong;
area *headone = (struct area*)malloc(len);
area *headdynamic = headone;
area *temp;
do
headdynamic->next = temp;
headdynamic = temp; }
} while(iswrong);
area *headtwo = (struct area*)malloc(len);
temp = (struct area*)malloc(len);
temp->next = null;
headtwo->next = temp;
headdynamic = headone->next;
temp->first = headdynamic->first;
temp->second = headdynamic->second;
/*具體實現*/
firstamend(headone->next,headtwo);
/*最後一次修正*/
lastamend(headtwo);
/*輸出結果*/
printf("輸出結果:/n");
headdynamic = headtwo->next;
while (headdynamic != null)
/*動態釋放第二個鍊錶*/
area* releasetemp;
while (headtwo != null)
return 0; }
ChinaUnix第一屆「C語言」開發大賽的第三題
3.從標準輸入中讀入 n 1行以換行符結束且長度不超過 2048 的字串,並在輸入結束後輸出其中最長 10行的輸入序號 長度和內容。當有多行長度相等的最長行時,輸出最先輸入的行的資訊。個人寫的 如下 include include include define len sizeof struct l...
ChinaUnix第一屆「C語言」開發大賽的第一題
給定乙個整數n,生成乙個n n的矩陣,矩陣中元素取值為1至 n2,1在左上角,其餘各數按順時針方向旋轉前進,依次遞增放置。例如,當 n 4時,矩陣中的內 容如下 12 341213145 1116156 10987 個人寫的 如下 include include 矩陣賦值 思想是 就是一圈一圈的賦值...
記第一屆ACM講堂
今天acm講堂成功舉辦了,我聽了眾位學長的講解,感觸頗多,首先對於那些伴隨著acm實驗室成長的學長們,致以感謝和敬意,為acm實驗室操勞的老師們,表示感激和尊敬,是你們給我們創造了現在這麼好的環境和氛圍,為我們開闢了acm的道路。大三的學長 學姐 們講自己的acm經歷的時候,這種情形讓我想起了高中全...