project-waiting in line
2011-01-11 15:16
429 查看
#include <stdio.h>
#define MAX_SIZE (10000)
struct node
{
int qnum;
int key;
};
typedef struct node listnode;
listnode list[1000];
int queue[1000];
void checklist(int n,int m,int k,int q)
{
int i,j,t,min,times=0;
int results[1000];
for(i=0;i<1000;i++)
results[i]=0;
t=0;
while(times<k)
{
min=MAX_SIZE;
for(i=0;i<n;i++)
{
if(list[i].key<min&&list[i].key>0)
min=list[i].key;
if(results[list[i].qnum]==0&&t<540)
results[list[i].qnum]=t+list[i].key;
}
for(i=0;i<n;i++)
{
if(min==list[i].key)
{
for(j=0;j<m-1;j++)
list[j*n+i]=list[j*n+n+i];
list[j*n+i]=list[m*n+times];
times++;
}
else
{
list[i].key=list[i].key-min;
}
}
t+=min;
}
for(i=0;i<q;i++)
if(results[queue[i]-1]>0)
printf("%02d:%02d\n",8+results[queue[i]-1]/60,results[queue[i]-1]%60);
else
if(results[queue[i]-1]==0)
printf("Sorry\n");
}
int main()
{
int n,m,k,q;
int i;
scanf("%d",&n);
while(n!=0)
{
scanf("%d%d%d",&m,&k,&q);
for(i=0;i<1000;i++)
{
list[i].key=0;
list[i].qnum=0;
queue[i]=0;
}
for(i=0;i<k;i++)
{
list[i].qnum=i;
scanf("%d",&list[i].key);
}
for(i=0;i<q;i++)
scanf("%d",&queue[i]);
checklist(n,m,k,q);
scanf("%d",&n);
}
}
#define MAX_SIZE (10000)
struct node
{
int qnum;
int key;
};
typedef struct node listnode;
listnode list[1000];
int queue[1000];
void checklist(int n,int m,int k,int q)
{
int i,j,t,min,times=0;
int results[1000];
for(i=0;i<1000;i++)
results[i]=0;
t=0;
while(times<k)
{
min=MAX_SIZE;
for(i=0;i<n;i++)
{
if(list[i].key<min&&list[i].key>0)
min=list[i].key;
if(results[list[i].qnum]==0&&t<540)
results[list[i].qnum]=t+list[i].key;
}
for(i=0;i<n;i++)
{
if(min==list[i].key)
{
for(j=0;j<m-1;j++)
list[j*n+i]=list[j*n+n+i];
list[j*n+i]=list[m*n+times];
times++;
}
else
{
list[i].key=list[i].key-min;
}
}
t+=min;
}
for(i=0;i<q;i++)
if(results[queue[i]-1]>0)
printf("%02d:%02d\n",8+results[queue[i]-1]/60,results[queue[i]-1]%60);
else
if(results[queue[i]-1]==0)
printf("Sorry\n");
}
int main()
{
int n,m,k,q;
int i;
scanf("%d",&n);
while(n!=0)
{
scanf("%d%d%d",&m,&k,&q);
for(i=0;i<1000;i++)
{
list[i].key=0;
list[i].qnum=0;
queue[i]=0;
}
for(i=0;i<k;i++)
{
list[i].qnum=i;
scanf("%d",&list[i].key);
}
for(i=0;i<q;i++)
scanf("%d",&queue[i]);
checklist(n,m,k,q);
scanf("%d",&n);
}
}
相关文章推荐
- PAT (Advanced Level) Practise 1014 Waiting in Line (30)
- [PAT][1014] Waiting in Line
- 【九度】题目1326:Waiting in Line
- PAT 1014 Waiting in Line (30)
- Waiting in Line
- 【PAT1014】 Waiting in Line (30) queue模拟排队
- PAT-1014 Waiting in Line (30)
- Waiting in Line
- PAT 1014 Waiting in Line
- 1014.Waiting in Line
- PAT_1014: Waiting in Line
- Debugging Lua Project created in Cocos Code IDE creates “Waiting for debugger to connect” in Win-7
- PAT 1014 Waiting in Line (30)
- PAT 1014 Waiting in line
- PAT 1014 Waiting in Line (30)
- PAT 1014 Waiting in Line
- PAT 1014 Waiting in Line(模拟+队列操作)
- pat1014 Waiting in line
- PAT (Advanced Level) Practise 1014 Waiting in Line (30)
- Building a project using a generated make file results in error 'make: 1254-055 Dependency line need