hnu 12432 Bottom of the sea#矩形交
2012-08-05 15:11
411 查看
/** 求一个矩形被另一个矩形覆盖后,剩余部分至少能切成几个矩形。 这题1A,立即有一种极品屌丝的赶脚,直接if每一种情况 */ #include <stdio.h> #include <string.h> void solve() { int ax,ay,bx,by,cx,cy,dx,dy; scanf("%d%d%d%d%d%d%d%d",&ax,&ay,&bx,&by,&cx,&cy,&dx,&dy); if(cx < ax) cx = ax; if(dx > bx) dx = bx; if(cy < ay) cy = ay; if(dy > by) dy = by; if(cy >= by || dy <= ay || cx >= bx || dx <= ax) { printf("1\n%d %d %d %d\n",ax,ay,bx,by); return ; } if(cx <= ax && dx >= bx && cy <= ay && dy >= by) { printf("0\n"); return ; } if(cy == ay && dy == by) { if(ax == cx) { if(dx < bx) printf("1\n%d %d %d %d\n",dx,ay,bx,by); else printf("0\n"); return ; } if(dx == bx) { if(cx > ax) printf("1\n%d %d %d %d\n",ax,ay,cx,dy); else printf("0\n"); return ; } printf("2\n%d %d %d %d\n%d %d %d %d\n",ax,ay,cx,dy,dx,cy,bx,by); return ; } if(ay == cy) { if(ax == cx && bx == dx) { printf("1\n%d %d %d %d\n",cx,dy,bx,by); return ; } if(ax == cx) { printf("2\n%d %d %d %d\n%d %d %d %d\n",dx,cy,bx,dy,ax,dy,bx,by); return; } if(bx == dx) { printf("2\n%d %d %d %d\n%d %d %d %d\n",ax,ay,cx,dy,ax,dy,bx,by); return; } printf("3\n%d %d %d %d\n%d %d %d %d\n%d %d %d %d\n", ax,ay,cx,dy,dx,ay,bx,dy,ax,dy,bx,by); return ; } if(dy == by) { if(ax == cx && bx == dx) { printf("1\n%d %d %d %d\n",ax,ay,bx,cy); return; } if(ax == cx) { printf("2\n%d %d %d %d\n%d %d %d %d\n",dx,cy,bx,by,ax,ay,bx,cy); return ; } if(bx == dx) { printf("2\n%d %d %d %d\n%d %d %d %d\n",ax,cy,cx,dy,ax,ay,bx,cy); return; } printf("3\n%d %d %d %d\n%d %d %d %d\n%d %d %d %d\n", ax,cy,cx,dy, dx,cy,bx,by, ax,ay,bx,cy); return; } if(ax == cx && bx == dx) { printf("2\n%d %d %d %d\n%d %d %d %d\n",ax,ay,bx,cy,ax,dy,bx,by); return ; } if(ax == cx) { printf("3\n%d %d %d %d\n%d %d %d %d\n%d %d %d %d\n", ax,dy,bx,by, dx,cy,bx,dy,ax,ay,bx,cy); return ; } if(bx == dx) { printf("3\n%d %d %d %d\n%d %d %d %d\n%d %d %d %d\n", ax,dy,bx,by, ax,cy,cx,dy,ax,ay,bx,cy); return ; } printf("4\n%d %d %d %d\n%d %d %d %d\n%d %d %d %d\n%d %d %d %d\n", ax,dy,bx,by, ax,cy,cx,dy, dx,cy,bx,dy, ax,ay,bx,cy); } int main() { solve(); // getchar(); printf("hello"); return 0; } /** 0 0 5 2 0 0 2 5 0 0 5 2 0 0 6 6 */
相关文章推荐
- POJ 2553 The Bottom of a Graph 强连通分量
- Poj 2553 The Bottom of a Graph【强连通Kosaraju+缩点染色】
- How to popup a UIPickerView from the bottom of a UIScrollView in response to UITextField selection
- POJ-2553-The Bottom of a Graph 解题报告
- Put a Submit Button At the Bottom of a Survey
- POJ 2553 The Bottom of a Graph 强连通分量分解
- SCC::poj2186 Popupar Cows && poj2553 The Bottom of A Graph
- poj 2553 The Bottom of a Graph【强连通分量】
- Assume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other.
- POJ2553————The Bottom of a Graph(tarjan算法)
- POJ 2553——The Bottom of a Graph(强连通分量)
- 强连通分量 ( Tarjan,邻接链表 )——The Bottom of a Graph ( POJ 2553 )
- POJ 2553 The Bottom of a Graph(强连通分量)
- poj 2553 The Bottom of a Graph【强连通分量求汇点个数】
- POJ 2553 The Bottom of a Graph .
- POJ-2553 The Bottom of a Graph 强连通分量
- Animate to display a dialog message box in the right-bottom of the window screen
- POJ 2553--The Bottom of a Graph【scc缩点构图 && 求出度为0的scc && 输出scc中的点】
- Skinny-dip clustering in the sea of noise
- POJ2553 The Bottom of a Graph 强连通分量+缩点