Drolca

Apologize To Drolca
随笔 - 28, 文章 - 1, 评论 - 6, 引用 - 0
数据加载中……

hdu 2474 Process scheduling

 

#include <iostream>
using namespace std;
int m,n;
struct node
{
    
int have[4];
    
int need[4];
    
bool end;
}
;
int can[4];
node pro[
49990];
bool check(int id)
{
    
for(int i=1;i<=m;i++)
        
if(pro[id].need[i]>can[i])
            
return 0;
    
return 1;
}

void reless(int id)
{
    
for(int i=1;i<=m;i++)
        can[i]
+=pro[id].have[i];
    pro[id].end
=true;
}

void slove()
{
    
while(true)
    
{
        
int i;
        
bool flag=false;
        
for(i=n;i>=1;i--)
        
{
            
if(pro[i].end==false&&check(i))
            
{
                reless(i);
                flag
=true;
            }

        }

        
if(flag==false)
        
{
            
int cnt=0;
            
for(i=1;i<=n;i++)
                
if(pro[i].end==true) cnt++;
            
if(cnt==n)
                printf(
"Yes\n");
            
else
                printf(
"No\n");
            
return;
        }

    }

}

int main()
{
    
while(scanf("%d%d",&n,&m)!=EOF)
    
{
        
int i,j;
        
for(i=1;i<=n;i++)
            pro[i].end
=false;
        
for(i=1;i<=m;i++)
            
for(j=1;j<=n;j++)
                scanf(
"%d",&pro[j].have[i]);
        
for(i=1;i<=m;i++)
            
for(j=1;j<=n;j++)
                scanf(
"%d",&pro[j].need[i]);
        
for(i=1;i<=m;i++)
            scanf(
"%d",&can[i]);
        slove();
    }

    
return 0;
}

posted on 2009-08-28 22:15 Drolca 阅读(259) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理