原创 zoj 3321

 錯誤的連接情況有很多種,缺少邊,邊多了,有子環結構(整體是個環,內部又有小環;整體不是環,而是兩個或更多個環); 我覺得最方便的還是用鏈表吧,記錄前一個和後一個,找一個結點作爲起始點,檢查最後是否構成一個環; #include<stdi

原创 zoj 1372

最小生成樹的題目,用到查並集,本題要求出連接所有點的最短路徑。 首先,對於每條邊用結構體存儲,記錄兩個頂點和兩點間的距離; 然後就是最小生成樹的核心思想:每一次選取最小的那條邊,如果該邊的兩個點尚未連通(兩個點不在一個集合),那麼就連接兩

原创 zoj 1406

這道題目做的時候,把cmp 函數的定義寫到main 函數裏了,結果一直編譯不過,唉,真挫…… 輸入數據中既有字母又有數字,讀入數據要細心些,注意空格、換行符。   #include<stdio.h> #include<stdlib.h>

原创 zoj 2952

一開始被嚇到了,估算不出來數據有多少個就該自己試試的;總共不超過五萬個數,計算機很快就計算出來了…… #include<stdio.h> #include<math.h> #include<algorithm> using namespa

原创 zoj 2326

 最小生成樹題目…… #include<stdio.h> #include<stdlib.h> #include<string.h> struct paths { char x[21]; char y[21]; float dis;

原创 sort函數

sort用起來很方便的排序函數~ cmp函數和qsort中的比較像 MSDN中的定義: template<class RanIt>    void sort(RanIt first, RanIt last);  //--> 1) tem

原创 zoj 1889

 模擬的是豎式除法運算,從最高位開始除,每次取餘數和後面的數加起來,繼續算…… /*#include<stdio.h> int main() { int n,count; __int64 i; while(scanf("%d",&n

原创 zoj 1789

 第一次寫的代碼超時了……這是錯誤代碼#include<stdio.h> struct student //用數組更方便一點兒 {

原创 HDU 3123

分析,本題目利用公式 (a * b) % m = [( a%m ) * ( b%m )] % m ,計算階乘模m的值 (a + b) % m = [(a % m) + (b % m)] % m ,計算所有階乘的餘數樹的和mod m 的值

原创 貝塞爾曲線德卡斯特里奧(de Casteljau)算法

這篇文章比較好理解些~設P0、P02、P2是一條拋物線上順序三個不同的點。過P0和P2點的兩切線交於P1點,在P02點的切線交P0P1和P2P1於P01和P11,則如下比例成立: 這是所謂拋物線的三切線定理。   當P0,P2固定,引

原创 zoj 2048

輸出的時候好像要排下序~  If no new highways need to be built (all towns are already connected), then the output should be created

原创 快排算法

很早之前看學姐寫過的一個快排算法,當時琢磨了很久來着,現在我們開的有 算法設計與分析 這門課,書上有講快排的,琢磨了好一會兒嘞^_^   具體代碼如下啦: #include<stdio.h> #include<stdlib.h> // 快

原创 zoj 1314

#include<stdio.h> #include<algorithm> using namespace std; int main() { int step,mod,a[100000],i,t; while(scanf("%d%

原创 zoj 3317

注意輸入的數據可能是亂序的,自己要按 check in 的順序進行排序~ #include<stdio.h> #include<stdlib.h> struct renter { int in; int leave; int nu

原创 題目分類

 ZOJ題目分類 初學者題: 1001 1037 1048 1049 1051 1067 1115 1151 1201 1205 1216 1240