Problem F:汽車加油 Time Limit:1000MS Memory Limit:65536K Total Submit:1400 Accepted:404 Language: not limited Description 一輛汽車加滿油后可行駛n公里。旅途中有若干個(gè)加油站。設(shè)計(jì)一個(gè)有效算法,指出應(yīng)在哪些加油站停靠加油,使沿途加油次數(shù)最少。 編程任務(wù): 對(duì)于給定的n和k(k <= 10000)個(gè)加油站位置,編程計(jì)算最少加油次數(shù)。 Input 第一行有2 個(gè)正整數(shù)n和k,表示汽車加滿油后可行駛n公里,且旅途中有k個(gè)加油站。接下來的1 行中,有k+1 個(gè)整數(shù),表示第k個(gè)加油站與第 k-1 個(gè)加油站之間的距離。第0 個(gè)加油站表示出發(fā)地,汽車已加滿油。第k+1 個(gè)加油站表示目的地。 Output 輸出最少加油次數(shù)。如果無法到達(dá)目的地,則輸出”No Solution”。 Sample Input 7 7 1 2 3 4 5 1 6 6 Sample Output 4
標(biāo)簽: Limit Accepted Language Problem
上傳時(shí)間: 2016-04-12
上傳用戶:youth25
C# ArrayList C++模仿版,只支持最簡(jiǎn)單的動(dòng)態(tài)隊(duì)列操作,采用雙層鏈表,支持16兆以上個(gè)對(duì)象的隊(duì)列管理。 效率:查找上界O(988+N/976144),插入及刪除上界O(988+N/976144+N*T(create/delete
上傳時(shí)間: 2013-12-11
上傳用戶:tianjinfan
設(shè)B是一個(gè)n×n棋盤,n=2k,(k=1,2,3,…)。用分治法設(shè)計(jì)一個(gè)算法,使得:用若干個(gè)L型條塊可以覆蓋住B的除一個(gè)特殊方格外的所有方格。其中,一個(gè)L型條塊可以覆蓋3個(gè)方格。且任意兩個(gè)L型條塊不能重疊覆蓋棋盤。
標(biāo)簽:
上傳時(shí)間: 2013-12-19
上傳用戶:xc216
最小生成樹 MST的四種算法實(shí)現(xiàn)。 包括普通的Kruskal算法和Prim算法,用Disjoint-Set優(yōu)化的Kruskal算法和用Heap優(yōu)化的堆算法。 復(fù)雜度分別為O(mn), O(n^2), O(m log n), O(m log n)
上傳時(shí)間: 2013-12-10
上傳用戶:stewart·
verilog的簡(jiǎn)要教程 基本邏輯門,例如a n d、o r和n a n d等都內(nèi)置在語言中。 • 用戶定義原語( U D P)創(chuàng)建的靈活性。用戶定義的原語既可以是組合邏輯原語,也可以 是時(shí)序邏輯原語。 • 開關(guān)級(jí)基本結(jié)構(gòu)模型,例如p m o s 和n m o s等也被內(nèi)置在語言中。
上傳時(shí)間: 2017-05-05
上傳用戶:1583060504
一維多項(xiàng)式多組求值,利用系數(shù)預(yù)處理法對(duì)多項(xiàng)式p(x)=an-1x^n-1+an-2x^n-2+...+a1x+a0,進(jìn)行多組求值。其中n=2^k
標(biāo)簽: 多項(xiàng)式
上傳時(shí)間: 2017-05-29
上傳用戶:戀天使569
題目:加密軟件 要求:(1)輸入任意一段明文M,以及密鑰K (2)根據(jù)一下公式將其轉(zhuǎn)換為密文C。 Ci = mi + K ,其中i = 0,1,……n-1 , K 為密鑰; (3)具有輸入輸出界面。
上傳時(shí)間: 2013-11-25
上傳用戶:shawvi
實(shí)驗(yàn)源代碼 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("請(qǐng)輸入矩陣第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可傳遞閉包關(guān)系矩陣是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元關(guān)系的可傳遞閉包\n"); void warshall(int,int); int k , n; printf("請(qǐng)輸入矩陣的行數(shù) i: "); scanf("%d",&k); 四川大學(xué)實(shí)驗(yàn)報(bào)告 printf("請(qǐng)輸入矩陣的列數(shù) j: "); scanf("%d",&n); warshall(k,n); }
標(biāo)簽: warshall 離散 實(shí)驗(yàn)
上傳時(shí)間: 2016-06-27
上傳用戶:梁雪文以
#include <stdio.h> #include <stdlib.h> #define SMAX 100 typedef struct SPNode { int i,j,v; }SPNode; struct sparmatrix { int rows,cols,terms; SPNode data [SMAX]; }; sparmatrix CreateSparmatrix() { sparmatrix A; printf("\n\t\t請(qǐng)輸入稀疏矩陣的行數(shù),列數(shù)和非零元素個(gè)數(shù)(用逗號(hào)隔開):"); scanf("%d,%d,%d",&A.cols,&A.terms); for(int n=0;n<=A.terms-1;n++) { printf("\n\t\t輸入非零元素值(格式:行號(hào),列號(hào),值):"); scanf("%d,%d,%d",&A.data[n].i,&A.data[n].j,&A.data[n].v); } return A; } void ShowSparmatrix(sparmatrix A) { int k; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { k=0; for(int n=0;n<=A.terms-1;n++) { if((A.data[n].i-1==x)&&(A.data[n].j-1==y)) { printf("%8d",A.data[n].v); k=1; } } if(k==0) printf("%8d",k); } printf("\n\t\t"); } } void sumsparmatrix(sparmatrix A) { SPNode *p; p=(SPNode*)malloc(sizeof(SPNode)); p->v=0; int k; k=0; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { for(int n=0;n<=A.terms;n++) { if((A.data[n].i==x)&&(A.data[n].j==y)&&(x==y)) { p->v=p->v+A.data[n].v; k=1; } } } printf("\n\t\t"); } if(k==1) printf("\n\t\t對(duì)角線元素的和::%d\n",p->v); else printf("\n\t\t對(duì)角線元素的和為::0"); } int main() { int ch=1,choice; struct sparmatrix A; A.terms=0; while(ch) { printf("\n"); printf("\n\t\t 稀疏矩陣的三元組系統(tǒng) "); printf("\n\t\t*********************************"); printf("\n\t\t 1------------創(chuàng)建 "); printf("\n\t\t 2------------顯示 "); printf("\n\t\t 3------------求對(duì)角線元素和"); printf("\n\t\t 4------------返回 "); printf("\n\t\t*********************************"); printf("\n\t\t請(qǐng)選擇菜單號(hào)(0-3):"); scanf("%d",&choice); switch(choice) { case 1: A=CreateSparmatrix(); break; case 2: ShowSparmatrix(A); break; case 3: SumSparmatrix(A); break; default: system("cls"); printf("\n\t\t輸入錯(cuò)誤!請(qǐng)重新輸入!\n"); break; } if (choice==1||choice==2||choice==3) { printf("\n\t\t"); system("pause"); system("cls"); } else system("cls"); } }
上傳時(shí)間: 2020-06-11
上傳用戶:ccccy
本書第一部分講述的是傳統(tǒng)的網(wǎng)絡(luò)接口N e t B I O S、重定向器以及通過重定向器進(jìn)行的各類 網(wǎng)絡(luò)通信。盡管本書大部分內(nèi)容均圍繞Wi n s o c k編程這一主題展開,但是, A P I比起Wi n s o c k 來,仍然具有某些獨(dú)到之處
標(biāo)簽: 分 定向 網(wǎng)絡(luò)接口 編程
上傳時(shí)間: 2015-07-08
上傳用戶:戀天使569
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1