Pat 1014
2012-02-17 19:13
190 查看
一开始理解错题意了 WA了好几次
import java.util.LinkedList; import java.util.List; import java.util.Scanner; public class Main{ public static void main(String args[]){ Scanner in=new Scanner (System.in); int n=in.nextInt(); int m=in.nextInt(); int k=in.nextInt(); int q=in.nextInt(); int time[]=new int [k+1]; for(int i=1;i<=k;i++){ time[i]=in.nextInt(); } int query[]=new int [q+1]; for(int i=1;i<=q;i++){ query[i]=in.nextInt(); } int ans[]=new int [k+1]; class node{ int finish_time; List<Integer>q; node(){ q=new LinkedList<Integer>(); } } node l[]=new node[n+1]; int cur=1; int flag=0; for(int i=1;i<=n;i++){ l[i]=new node(); } for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ if((i-1)*n+j>k){ flag=1; break; } l[j].q.add((i-1)*n+j); } if(flag==1){ break; } } for(int i=1;i<=n;i++){ if(l[i].q.size()>0){ l[i].finish_time=time[l[i].q.get(0)]; } } while(cur<=k){ int min_time=999999999; int index=0; for(int i=1;i<=n;i++){ if(l[i].q.size()>0){ if(l[i].finish_time<min_time){ min_time=l[i].finish_time; index=i; } } } ans[l[index].q.get(0)]=l[index].finish_time; l[index].q.remove(0); if(flag==0){ if(k-cur<n*m){ flag=1; }else{ l[index].q.add(cur+n*m); //System.out.println(index+" "+(k-cur-n*m)); } } if(l[index].q.size()>0){ if(l[index].finish_time<540){ l[index].finish_time+=time[l[index].q.get(0)]; }else{ l[index].finish_time=999999; } } cur++; } for(int i=1;i<=q;i++){ int tt=ans[query[i]]; if(tt>90000){ System.out.println("Sorry"); }else{ int h=tt/60+8; int min=tt-(h-8)*60; String at=((Integer)h).toString(),am=((Integer)min).toString(); if(h<10){ at="0"+at; } if(min<10){ am="0"+am; } System.out.println(at+":"+am); } } } }
相关文章推荐
- PAT 1014
- PAT乙级 1014. 福尔摩斯的约会 (20)
- PAT乙级1014. 福尔摩斯的约会(20)
- PAT-1014 福尔摩斯的约会
- PAT (Basic Level) Practise 1014. 福尔摩斯的约会 (20)
- [PAT][1014] Waiting in Line
- PAT Advance 1014
- PAT Basic Level 1014. 福尔摩斯的约会(20)
- PAT_Basic 1014
- 编程题目: PAT 1014. 福尔摩斯的约会 (20)
- PAT-1014. 福尔摩斯的约会 (20)
- PAT-B 1014. 福尔摩斯的约会
- PAT 1014 Waiting in Line 模拟
- 1014. 福尔摩斯的约会 (20) PAT 乙级
- 1014. 福尔摩斯的约会 (20) (数学啊 ZJU_PAT)
- PAT --- 1014. 福尔摩斯的约会 (20)
- PAT1014
- PAT(乙级)1014 科学计数法 (20)
- (PAT-Basic)1014. 福尔摩斯的约会
- PAT乙级真题及训练集(23)--1014. 福尔摩斯的约会 (20)(细节决定成败)