POJ原址:POJ1083
这道还算比较快,一直在分心也没怎么出错的做完了。
主要参考的两个链接:
POJ 1083 Moving Tables - hqu_fritz的专栏
第一个链接告诉我,原来直接就有swap函数,感觉用起来确实很方便,而且他在程序之前的分析也很有启发性。
POJ1083-Moving Tables - ζёСяêτ - 小優YoU
第二个是主要的参考链接,程序基本只是在它之上改了一小点儿。
值得一提的不多,除了swap函数,还有初始化问题,初始化过去自己一直都是这么做的:room[401]={0}; 可是这次warning了,于是改成大神们的初始化方法:memset(room,0,sizeof(room)); 就没问题。但是以前貌似都没有这样过,就算是那样初始化都是会过的,不太明白。
还有就是,如果不是看着参考链接的程序写的话,room的这个初始化估计就忘了,想想肯定又该是重蹈覆辙,无限累加下去……哎,都是泪。
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int room[401],Begin[401],End[401];
int T,N,i,j,k;
cin>>T;
for(i=0;i<T;i++)
{
memset(room,0,sizeof(room));
cin>>N;
for(j=0;j<N;j++)
{
cin>>Begin[j]>>End[j];
if(Begin[j]>End[j])
swap(Begin[j],End[j]);
(Begin[j]%2==0)?Begin[j]/=2:Begin[j]=((Begin[j]+1)/2);
(End[j]%2==0)?End[j]/=2:End[j]=((End[j]+1)/2);
for(k=Begin[j];k<=End[j];k++)
room[k]++;
}
sort(room,room+401);
cout<<room[400]*10<<endl;
}
return 0;
}
至于大神们的什么DP什么贪心什么线段树,表示完全不懂,算了,以后再弄清楚吧……