一个过道,两边是要移动桌子的房间,过道很窄,每次只能移动一张桌子。问最快的移动时间是多少。
思路:其实就是占用的问题,每次移动都占用固定的几个格子。只要统计一下占用次数最多的格子数量,再乘以10即可。
#include<stdio.h> #include<string.h> int r[410]; int main() { int a,b,t;
int max=0;int temp=a;
while(scanf("%d",&t)!=EOF) { int i,j,n; while(t--) { memset(r,0,sizeof(r)); scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d %d",&a,&b); { if(a>b){ a=b; b=temp; } for(j=(a+1)/2;j<=(b+1)/2;j++) { r[j]++; if(r[j]>max) max=r[j]; } } } printf("%d\n",max*10); } } return 0; }