Moving Tables POJ - 1083

題目鏈接
該樓層共有400個房間,每邊200個房間。最近,公司想進行一些調整,其中包括在房間之間移動很多桌子。因爲樓道很窄,桌子很大,只有一張桌子能通過樓道,所以有必要指定一個計劃來使桌子移動更加高效。將桌子從一個房間移動到另外一個房間可以在10分鐘內完成,當桌子從房間i移動到房間j時,從房間i到房間j部分的樓道被佔用(閉區間)。在10分鐘內,移動多張桌子如果不共享樓道的話,可以同時進行。輸入包含T個測試用例,第一行輸入測試用例的個數T,接下來依次輸入每個測試用例的數據。每個測試用例的第一行輸入需要移動的桌子數N,1<=N<=200,接下來的N行輸入兩個整數s和t,表示桌子從房間s移動到房間t。每個房間在N行輸入中至多出現一次。輸出最少花費的時間。
3
4
10 20
30 40
50 60
70 80
2
1 3
2 200
3
10 100
20 80
30 50
Sample Output
10
20
30

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
    int t,n,temp,s,e;
    cin>>t;
    while(t--)
    {
        int a[205]={0},m=0;
        cin>>n;
        while(n--)
        {
            cin>>s>>e;
            if(s>e)
            {
                temp=s;
                s=e;
                e=temp;
            }
            for(int i=(s-1)/2;i<=(e-1)/2;i++)
            {
                a[i]++;
            }
        }
        for(int i=0;i<205;i++)
        {
            if(m<a[i])
                m=a[i];
        }
        cout<<10*m<<endl;
    }
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章