HPUACM2014級第三週練習賽解題報告

2021-06-29 10:04:05 字數 3534 閱讀 8227

1001:hdu1072 acboy needs your help again!

解題思路:最基本的棧和佇列的問題,用陣列模擬即可

#include #include int main ()

else}}

else

else}}

}return 0;

}

下面的是用c++中的stl寫的,有餘力的同學可以學習一下

#include #include #include #include using namespace std;

int main ()

else if(mark.compare("out")==0)

else if(mark.compare("out")==0)

p[++k]=1; //進棧

l[++i]=s1[++ans];

}if(ans==n&&j==n)

else

if(sum>newsum)

}printf("case %d:\n",con++);

printf("%d %d %d\n",newsum,st,ed);

if(t) printf("\n");

}return 0;

}

1005 hdu2040 親合數

水題,看大家都寫出來了,直接上**

#include #include int main ()

return 0;

}

1006 hdu2041 超級樓梯

遞推:

/*

用dp[i]表示走到第i級的方法數,走到第i級的最後一步只可能有兩種,走一級或者是兩級,

所以:dp[i]=dp[i-1]+dp[i-2]。

*/#include #include #include using namespace std;

int main ()

}return 0;

}

1007 hdu2502 月之數

規律題

思路:n的全部二進位制數總共有m=2^(n-1)個。第1豎列總共有m個1,之後的第2~n豎列中,1和0各佔一半,總共有(n-1)*m/2個1。所以結果ans = m+ (n-1)*m/2。例如n=4:

n = 4:

1 000

1 001

1 010

1 011

1 100

1 101

1 110

1 111

#include #include int main()

return 0;

}

1008 hdu1020 enconing

大家基本都做出來了,我也不費話了,直接上**

#include#includechar a[1000000];

int main ()

;void papapa()

}}int main ()

return 0;

}

1010 hdu 1228 a+b

#include#include#includeusing namespace std;

char str[10][10]=;

char s[100];

int replace(char *s)//注意傳遞的是位址

}int main()

while(scanf("%s",s)&&strcmp(s,"=") != 0)

if(!a&&!b) break;

printf("%d\n",a+b);

}return 0;

}

1011 hdu 2091 空心三角形

這題的格式比較坑,注意一行的最後乙個沒有空格

#includeint main()

;//用陣列記錄上下左右四個方向

int map[maxn][maxn];

int check(int x,int y)

int main()

}if(num>sum)

}printf("%d %d %d\n",sx,sy,sum);

} return 0;

}

1013 hdu2391 filthy rich

數塔問題,簡單的動態規劃

題目大意;在乙個矩陣裡邊,不同的位置有著不同量的**,只能向右,下,和右下走,

求從左上角到右下角最多能得到多少**。

#include #include #include using namespace std;

#define maxn 10000

int map[maxn][maxn];

int main ()

printf("scenario #%d:\n",++ans);

printf("%d\n\n",map[n][m]);

}return 0;

}

1014 hdu 1106排序

大一第一次周賽的題目。

#include#include#includeusing namespace std;

char a[2000];

int b[2000];

int main ()

{ while(scanf("%s",a)!=eof)

{int len,i,k=0,sum=0;

len=strlen(a);

for(i=0;i第二種方法:用c++的strtok()函式,相對來說比較簡單。

函式原型:

char *strtok(char *s, const char *delim);

function:

分解字串為一組字串。s為要分解的字串,delim為分隔符字串。

description:strtok()用來將字串分割成乙個個片段。引數s指向欲分割的字串,引數delim則為分割字串,

當strtok()在引數s的字串中發現到引數delim的分割字元時      則會將該字元改為\0 字元。

在第一次呼叫時,strtok()必需給予引數s字串,往後的呼叫則將引數s設定成null。

每次呼叫成功則返回被分割出片段的指標。

#include #include #include #include #include using namespace std;

int main (){

char str[11000];

int a[11000];

while(scanf("%s",str)!=eof){

int len=strlen(str),ans=0;

for(int i=0;i

解題報告寫得比較簡單,大家不要嫌棄。加油加油

第三週中級練習

題目內容 輸入n 0輸入格式 整數n 0輸出格式 非負整數 輸入樣例 輸出樣例 include using namespace std intmain cout return0 題目內容 求a aa aaa aaaa aa a 第n項,n個a 其中a是1 9的整數。例如,a 1,n 3時,式子為1 ...

集訓第三週

又要感嘆時間過得真快了,8月13號,距離第一場網路賽還有26天。暑假三周集訓結束,個人賽也結束了,這一周還是做了一些個人賽,然後組好了隊伍。去年一隊有2個人算是 實力超群 比其餘人都高乙個檔次。而今年大家的水平都差不多,沒有像去年他們那麼突出,實力自然有不小的下降。相比去年的隊伍,今年隊的特點是大家...

第三週作業

實驗作業 1.輸入課本各個例題,除錯執行程式,並分析程式,將每乙個程式改寫2到3個版本,自己分析程式結果,然後再除錯執行,核對分析結果的對錯。2.編寫程式輸入乙個三角形的三條邊,計算其面積和周長 3.編寫程式計算並輸出課本本章習題3表示式的值並分析結果。4.編寫乙個程式,輸入乙個一元二次方程的三個係...