[網路流24題] 試題庫
★★ 輸入檔案:testlib.in 輸出檔案:testlib.out 評測外掛程式
時間限制:1 s 記憶體限制:128 mb
«問題描述:
假設乙個試題庫中有n道試題。每道試題都標明了所屬類別。同一道題可能有多個類別屬性。現要從題庫中抽取m 道題組成試卷。並要求試卷包含指定型別的試題。試設計乙個滿足要求的組卷演算法。
«程式設計任務:
對於給定的組卷要求,計算滿足要求的組卷方案。
«資料輸入:
由檔案testlib.in提供輸入資料。檔案第1行有2個正整數k和n (2 <=k<= 20, k<=n<= 1000)k 表示題庫中試題型別總數,n 表示題庫中試題總數。第2 行有k 個正整數,第i 個正整數表示要選出的型別i 的題數。這k個數相加就是要選出的總題數m。接下來的n行給出了題庫中每個試題的型別資訊。每行的第1 個正整數p表明該題可以屬於p類,接著的p個數是該題所屬的型別號。
«結果輸出:
程式執行結束時,將組卷方案輸出到檔案testlib.out 中。檔案第i 行輸出 「i:」後接型別i的題號。如果有多個滿足要求的方案,只要輸出1 個方案。如果問題無解,則輸出「nosolution!」。
輸入檔案示例
testlib.in
3 15
3 3 4
2 1 2
1 3
1 3
1 3
1 3
3 1 2 3
2 2 3
2 1 3
1 2
1 2
2 1 2
2 1 3
2 1 2
1 1
3 1 2 3
輸出檔案示例
testlib.out
1: 1 6 8
2: 7 9 10
3: 2 3 4 5
【分析】
網路流裸題,刷刷手感,開心一下嘻嘻嘻。
我感覺我對網路流有了新的理解…流量好像就是限制容量的乙個引數而已…非要解釋成水管啥的感覺還是略有抽象啊…(忽然發現引數好像更抽象)
【**】
//732. [網路流24題] 試題庫
#include
#include
#include
#include
#include
#define inf 1e9+7
#define m(a) memset(a,0,sizeof a)
#define fo(i,j,k) for(i=j;i<=k;i++)
using
namespace
std;
const
int mxn=10005;
queue
q;int n,m,s,t,ans,cnt;
int head[mxn],dis[mxn],num[mxn];
struct node f[mxn<<2];
inline
void add(int u,int v,int flow)
inline
bool bfs()
}if(dis[t]>0) return
1; return0;}
inline
int find(int u,int low)
}if(!sum) dis[u]=-1;
return sum;
}int main()
fo(i,1,n)
add(i,t,1);
}while(bfs()) ans+=find(s,int_max);
bool flag=1;
for(i=head[s];i;i=f[i].next)
//必須滿流(flow==0),否則狗帶
} if(!flag)
fo(u,n+1,n+m)
printf("\n");
}return
0;}
COGS732 網路流24題 試題庫
問題描述 假設乙個試題庫中有n道試題。每道試題都標明了所屬類別。同一道題可能有多個類別屬性。現要從題庫中抽取m 道題組成試卷。並要求試卷包含指定型別的試題。試設計乙個滿足要求的組卷演算法。程式設計任務 對於給定的組卷要求,計算滿足要求的組卷方案。資料輸入 由檔案testlib.in提供輸入資料。檔案...
COGS461 網路流24題 餐巾
問題描述 乙個餐廳在相繼的n天裡,第i天需要ri塊餐巾 i l,2,n 餐廳可以從三種途徑獲得餐巾。1 購買新的餐巾,每塊需p分 2 把用過的餐巾送到快洗部,洗一塊需m天,費用需f分 f 3 把餐巾送到慢洗部,洗一塊需n天 n m 費用需s分 s在每天結束時,餐廳必須決定多少塊用過的餐巾送到快洗部,...
Cogs 729 網路流24題 圓桌聚餐
網路流24題 圓桌聚餐 輸入檔案 roundtable.in 輸出檔案 roundtable.out 評測外掛程式 時間限制 1 s 記憶體限制 128 mb 問題描述 假設有來自m 個不同單位的代表參加一次國際會議。每個單位的代表數分別為 ri i 1,2,3 m 會議餐廳共有n張餐桌,每張餐桌可...