HU 3269 P 2 P File Sharing System 2213 ワード HDOJ アジア競技区の原題 p 2 p file struct system http://acm.hdu.edu.cn/showproblem.php?pid=3269 09寧波です模擬問題#include #include #include #include #include #include #include #include #include #include #include //#include #include #include using namespace std; #define N 25 #define M 1005 int n,time1,k,size,m; int a[N][N]; bool ser[N]; struct machine { int begt,v; bool work[M]; }ma[N]; void init() { int i,j,m1,p,q; scanf("%d%d",&n,&time1); scanf("%d%d",&k,&size); for (i=1;i<=n;i++) ma[i].v=0; memset(ser,false,sizeof(ser)); for (i=1;i<=k;i++) { scanf("%d",&j); ser[j]=true; ma[j].v=size; } for (i=1;i<=n;i++) for (j=1;j<=n;j++) scanf("%d",&a[i][j]); for (i=1;i<=n;i++) { for (j=1;j<=time1;j++) ma[i].work[j]=false; scanf("%d",&m1); for (j=1;j<=m1;j++) { scanf("%d%d",&p,&q); p++; for (int kk=p;kk<=q;kk++) ma[i].work[kk]=true; } } scanf("%d",&m); for (i=1;i<=m;i++) { scanf("%d%d",&p,&q); ma[q].begt=p+1; } } int main() { //freopen("a","r",stdin); int T,i,j,kk; scanf("%d",&T); while(T--) { init(); for (i=1;i<=time1;i++) { for (j=1;j<=n;j++) if (!ser[j] && i>=ma[j].begt && ma[j].work[i]) { for (kk=1;kk<=n;kk++) if (kk!=j && ser[kk] && ma[kk].work[i]) ma[j].v+=a[kk][j]; } for (j=1;j<=m;j++) if (ma[j].v>=size) { ser[j]=true; ma[j].v=size; } } for (i=1;i<=n;i++) printf("%d%%",(ma[i].v*100)/size); } return 0; } 整合性hashアルゴリズムjava実装 検出符号化ツールjunniversalchardet