河南理工大學程式設計(ACM)大賽解題報告
數值統計
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 73 Accepted Submission(s) : 56
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
統計給定的n個數中,負數、零和正數的個數。
Input
輸入資料有多組,每組佔一行,每行的第一個數是整數n(n<100),表示需要統計的數值的個數,
然後是n個實數;如果n=0,則表示輸入結束,該行不做處理。
Output
對於每組輸入資料,輸出一行a,b和c,分別表示給定的資料中負數、零和正數的個數。
Sample Input
6 0 1 2 3 -1 0 5 1 2 3 4 0.5 0
Sample Output
1 2 3 0 0 5
Author
Source
C語言程式設計練習(二)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
while(input.hasNext()){
int n=input.nextInt();
if(n==0)
break;
int a=0,b=0,c=0;
while(n-->0){
float s=input.nextFloat();
if(s==0)
b++;
if(s<0)
a++;
if(s>0)
c++;
}
System.out.println(a+" "+b+" "+c);
}
}
}
數塔
Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 55 Accepted Submission(s) : 33
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
在講述DP演算法的時候,一個經典的例子就是數塔問題,它是這樣描述的:
有如下所示的數塔,要求從頂層走到底層,若每一步只能走到相鄰的結點,則經過的結點的數字之和最大是多少?
已經告訴你了,這是個DP的題目,你能AC嗎?
有如下所示的數塔,要求從頂層走到底層,若每一步只能走到相鄰的結點,則經過的結點的數字之和最大是多少?
已經告訴你了,這是個DP的題目,你能AC嗎?
Input
輸入資料首先包括一個整數C,表示測試例項的個數,每個測試例項的第一行是一個整數N(1 <= N <= 100),
表示數塔的高度,接下來用N行數字表示數塔,其中第i行有個i個整數,且所有的整數均在區間[0,99]內。
Output
對於每個測試例項,輸出可能得到的最大和,每個例項的輸出佔一行。
Sample Input
1 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5
Sample Output
30
Source
2006/1/15 ACM程式設計期末考試
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// Scanner input=new Scanner(System.in);
//BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
Scanner input=new Scanner(System.in);
int N=input.nextInt();
while(N-->0){
int c=input.nextInt();
int a[][]=new int[c][c];
a[0][0]=input.nextInt();
for(int i=1;i<c;i++){
for(int j=0;j<=i;j++){
a[i][j]=input.nextInt();
}
}
for(int i=1;i<c;i++){
a[i][0]+=a[i-1][0];
for(int j=1;j<i;j++){
a[i][j]+=a[i-1][j-1]>a[i-1][j]?a[i-1][j-1]:a[i-1][j];
}
a[i][i]+=a[i-1][i-1];
}
int sum=a[c-1][0];
for(int i=1;i<c;i++){
if(sum<a[c-1][i]){
sum=a[c-1][i];
}
}
System.out.println(sum);
/*for(int i=0;i<c;i++){
for(int j=0;j<=i;j++){
System.out.print(a[i][j]+" ");
}
System.out.println();
}*/
}
}
}
蟠桃記
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 75 Accepted Submission(s) : 54
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
喜歡西遊記的同學肯定都知道悟空偷吃蟠桃的故事,你們一定都覺得這猴子太鬧騰了,其實你們是有所不知:悟空是在研究一個數學問題!
什麼問題?他研究的問題是蟠桃一共有多少個!
不過,到最後,他還是沒能解決這個難題,呵呵^-^
當時的情況是這樣的:
第一天悟空吃掉桃子總數一半多一個,第二天又將剩下的桃子吃掉一半多一個,以後每天吃掉前一天剩下的一半多一個,
什麼問題?他研究的問題是蟠桃一共有多少個!
不過,到最後,他還是沒能解決這個難題,呵呵^-^
當時的情況是這樣的:
第一天悟空吃掉桃子總數一半多一個,第二天又將剩下的桃子吃掉一半多一個,以後每天吃掉前一天剩下的一半多一個,
到第n天準備吃的時候只剩下一個桃子。聰明的你,請幫悟空算一下,他第一天開始吃的時候桃子一共有多少個呢?
Input
輸入資料有多組,每組佔一行,包含一個正整數n(1<n<30),表示只剩下一個桃子的時候是在第n天發生的。
Output
對於每組輸入資料,輸出第一天開始吃的時候桃子的總數,每個測試例項佔一行。
Sample Input
2 4
Sample Output
4 22
Author
lcy
Source
C語言程式設計練習(二)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
while(input.hasNext()){
int n=input.nextInt();
long sum=1;
for(int i=1;i<n;i++){
sum=(sum+1)*2;
}
System.out.println(sum);
}
}
}
七夕節
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 171 Accepted Submission(s) : 39
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
七夕節那天,月老來到數字王國,他在城門上貼了一張告示,並且和數字王國的人們說:
"你們想知道你們的另一半是誰嗎?那就按照告示上的方法去找吧!"
人們紛紛來到告示前,都想知道誰才是自己的另一半.告示如下:
數字N的因子就是所有比N小又能被N整除的所有正整數,如12的因子有1,2,3,4,6.
你想知道你的另一半嗎?
人們紛紛來到告示前,都想知道誰才是自己的另一半.告示如下:
數字N的因子就是所有比N小又能被N整除的所有正整數,如12的因子有1,2,3,4,6.
你想知道你的另一半嗎?
Input
輸入資料的第一行是一個數字T(1<=T<=500000),它表明測試資料的組數.然後是T組測試資料,
每組測試資料只有一個數字N(1<=N<=500000).
Output
對於每組測試資料,請輸出一個代表輸入資料N的另一半的編號.
Sample Input
3 2 10 20
Sample Output
1 8 22
Author
Ignatius.L
Source
杭電ACM省賽集訓隊選拔賽之熱身賽
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) {
// Scanner input=new Scanner(System.in);
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
try {
int N=Integer.parseInt(bf.readLine());
while(N-->0){
int n=Integer.parseInt(bf.readLine());
long sum=1;
int i=0;
for(i=2;i*i<=n;i++){
if(n%i==0){
sum+=i+n/i;
}
}
if((i-1)*(i-1)==n)
sum-=Math.sqrt(n);
System.out.println(sum);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
六度分離
Time Limit : 5000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 36 Accepted Submission(s) : 9
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
1967年,美國著名的社會學家斯坦利·米爾格蘭姆提出了一個名為“小世界現象(small world phenomenon)”
的著名假說,大意是說,任何2個素不相識的人中間最多隻隔著6個人,即只用6個人就可以將他們聯絡在一起
因此他的理論也被稱為“六度分離”理論(six degrees of separation)。雖然米爾格蘭姆的理論屢屢應驗,
一直也有很多社會學家對其興趣濃厚,但是在30多年的時間裡,它從來就沒有得到過嚴謹的證明,
只是一種帶有傳奇色彩的假說而已。
Lele對這個理論相當有興趣,於是,他在HDU裡對N個人展開了調查。他已經得到了他們之間的相識關係,
現在就請你幫他驗證一下“六度分離”是否成立吧。
Input
本題目包含多組測試,請處理到檔案結束。
對於每組測試,第一行包含兩個整數N,M(0<N<100,0<M<200),分別代表HDU裡的人數
對於每組測試,第一行包含兩個整數N,M(0<N<100,0<M<200),分別代表HDU裡的人數
(這些人分別編成0~N-1號),以及他們之間的關係。
接下來有M行,每行兩個整數A,B(0<=A,B<N)表示HDU裡編號為A和編號B的人互相認識。
除了這M組關係,其他任意兩人之間均不相識。
除了這M組關係,其他任意兩人之間均不相識。
Output
對於每組測試,如果資料符合“六度分離”理論就在一行裡輸出"Yes",否則輸出"No"。
Sample Input
8 7 0 1 1 2 2 3 3 4 4 5 5 6 6 7 8 8 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 0
Sample Output
Yes Yes
Author
linle
Source
2008杭電集訓隊選拔賽——熱身賽
/*
* 相當於求最短路徑是否小於等於7
*
*/
import java.util.Arrays;
import java.util.Scanner;
public class Main{
static int Max=100000;
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
while(input.hasNext()){
int n=input.nextInt();
int m=input.nextInt();
int map[][]=new int[n][n];
for(int i=0;i<n;i++){
Arrays.fill(map[i], Max);
map[i][i]=0;
}
for(int i=0;i<m;i++){
int a=input.nextInt();
int b=input.nextInt();
map[a][b]=map[b][a]=1;
}
for(int k=0;k<n;k++){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(map[j][i]>map[j][k]+map[k][i])
map[j][i]=map[j][k]+map[k][i];
}
}
}
int min=0;
for(int i=0;i<n;i++){
for(int j=0;j<i;j++){
if(min<map[i][j])
min=map[i][j];
}
}
if(min<=7)
System.out.println("Yes");
else
System.out.println("No");
}
}
}
相關文章
- 河南萌新聯賽2024第(四)場:河南理工大學
- 第十五屆浙江大學寧波理工學院程式設計大賽(同步賽)程式設計
- 無錫學院2024年ACM大學生程式設計競賽校選賽 題解ACM程式設計
- NYNU ACM 藍橋杯選拔賽 解題報告ACM
- "華為杯"華南理工大學程式設計競賽(同步賽) H題解 還沒寫程式設計
- 2014第六屆華為創新杯程式設計大賽初賽解題報告程式設計
- 第二十屆西南科技大學ACM程式設計競賽(同步賽)ACM程式設計
- 河南萌新聯賽2024第(一)場 補題報告
- 河南萌新聯賽2024第(三)場:河南大學
- 西安理工大學2024年程式設計校賽程式設計
- 第八屆山東省ACM大學生程式設計競賽總結ACM程式設計
- 山東省第七屆ACM大學生程式設計競賽-Reversed WordsACM程式設計
- 某大學程式設計競賽程式設計
- 山東省第六屆ACM大學生程式設計競賽-Single Round Math(大數除法)ACM程式設計
- 2023年中國高校計算機大賽-團隊程式設計天梯賽(GPLT)上海理工大學校內選拔賽 (vp + 補題)計算機程式設計
- 山東省第一屆ACM大學生程式設計競賽-Balloons(搜尋)ACM程式設計
- 華中農業大學第十三屆程式設計競賽 題解程式設計
- 湖南大學2020屆ACM新生賽 部分題解ACM
- 山東理工大學SDUT - ACM OJ 題: Python程式碼 及分析ACMPython
- 山東省第四屆ACM大學生程式設計競賽-Rescue The Princess(計算幾何)ACM程式設計
- 山東省第六屆ACM大學生程式設計競賽-Square Number(完全平方數)ACM程式設計
- 山東省第六屆ACM大學生程式設計競賽-Lowest Unique Price(桶排序)ACM程式設計排序
- HTUCTF2024 河南師範大學招新賽TF2
- 山東省第四屆acm解題報告(部分)ACM
- 程式設計大賽WBS程式設計
- 2012年"浪潮杯"山東省第三屆ACM大學生程式設計競賽(熱身賽)ACM程式設計
- 山東省第四屆ACM大學生程式設計競賽-Contest Print Server(模擬)ACM程式設計Server
- 哈爾濱理工大學3-31校賽模擬賽第一場題解
- 第十屆山東省大學生程式設計競賽題解(A、F、M、C)程式設計
- 河南萌新聯賽2024第(四)場題解
- AIX 程式設計大賽---AIX正方形問題AI程式設計
- 紹興市大學生程式設計競賽程式設計
- 第15屆浙江省大學生程式設計競賽D題程式設計
- 杭電ACM hdu 2152 Fruit 解題報告(母函式)ACMUI函式
- 11.1NOIP模擬賽解題報告
- ACM-ICPC世界冠軍教你如何備戰程式設計競賽ACM程式設計
- 湖南省大學生程式設計競賽系統設計程式設計
- YT06-揹包-1001—Bone Collector -(6.27日-煙臺大學ACM預備隊解題報告)ACM