poj 1083 Moving Tables

http://162.105.81.212/JudgeOnline/problem?id=1083

 

蛋疼-_-, 被这样一个题目打败了,

写下这篇解题报告, 纪念我死去的那些细胞们,囧...

一看完题目, 想到的就是排序->贪心(之前在foj好像有做过类似的题目)

可能就是因为做过类似的, 想也没多想, 就稀里哗啦的开始写程序,

结果:排序函数写错了一次, 题目亦是没看清楚-_-, 细节错误就不说了 ....我真是快要疯了,囧囧

这能不蛋疼不-_-||

#include<iostream> #include<algorithm> using namespace std; struct Node { int start,end; bool operator<(const Node &n) { if(end==n.end) return start>n.start; else return end<n.end; } }node[200]; int main() { int t,n,i,j,k,ret,tmp,end[200]; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d%d",&node[i].start,&node[i].end); if(node[i].start > node[i].end) { tmp=node[i].start; node[i].start=node[i].end; node[i].end=tmp; } if(node[i].start%2==0) node[i].start-=1; if(node[i].end%2!=0) node[i].end+=1; } sort(node,node+n); end[0]=node[0].end; ret=1; for(i=1,j=1;i<n;i++) { for(k=j-1;k>=0;k--) { if(node[i].start>end[k]) { end[k]=node[i].end; break; } } if(k<0) { ret++; end[j++]=node[i].end; } sort(end,end+j); } printf("%d/n",ret*10); } return 0; }

你可能感兴趣的:(ini)