UVALive 7267 Mysterious Antiques in Sackler Museum 思维题 拼接矩形
2017-04-05 08:47
513 查看
题意:给出四个矩形的长,宽,问能否找到三个矩形拼成一个大矩形。
思路:枚举即可。两个小矩形能拼成大矩形的条件是有一个边的长度相等。先用两个去拼接 新矩形,用新的矩形和剩下的两个小矩形判断,是否相等的边!
思路:枚举即可。两个小矩形能拼成大矩形的条件是有一个边的长度相等。先用两个去拼接 新矩形,用新的矩形和剩下的两个小矩形判断,是否相等的边!
#include <iostream> #include <cstdio> #include <cstring> #include <string> #include <queue> #include <set> #include <algorithm> #include <stdlib.h> #include <map> using namespace std; int data[4][2]; int main() { int test; int len,wid; bool flag; int vis[4]; cin>>test; while ( test-- ) { memset( vis,0,sizeof(vis) ) ; flag = false; for ( int i=0;i<4; i++ ) cin>>data[i][0]>>data[i][1]; for ( int i=0; i<4; i++ ) { vis[i] = 1; len = data[i][0]; wid = data[i][1]; for ( int j=0; j<4; j++ ) { if ( vis[j]==false ) { if ( len==data[j][0] ) { wid += data[j][1]; vis[j] = 1; for ( int l = 0; l<4; l++ ) { if ( vis[l]==false ) { if ( len==data[l][0] || len==data[l][1] ||wid==data[l][0] ||wid==data[l][1] ) flag = 1; } } vis[j] = 0 ; wid -= data[j][1]; } if ( len==data[j][1] ) { wid += data[j][0]; vis[j] = 1; for ( int l = 0; l<4; l++ ) { if ( vis[l]==false ) { if ( len==data[l][0] || len==data[l][1] ||wid==data[l][0] ||wid==data[l][1] ) flag = 1; } } vis[j] = 0 ; wid -= data[j][0]; } if ( wid==data[j][0] ) { len += data[j][1]; vis[j] = 1; for ( int l = 0; l<4; l++ ) { if ( vis[l]==false ) { if ( wid==data[l][0] || wid==data[l][1] ||len==data[l][0] ||len==data[l][1] ) flag = 1; } } vis[j] = 0 ; len -= data[j][1]; } if ( wid==data[j][1] ) { len += data[j][0]; vis[j] = 1; for ( int l = 0; l<4; l++ ) { if ( vis[l]==false ) { if ( wid==data[l][0] || wid==data[l][1] ||len==data[l][0] ||len==data[l][1] ) flag = 1; } } vis[j] = 0 ; len -= data[j][0]; } } } vis[i] = 0 ; } if ( flag) cout<<"Yes"<<endl; else cout<<"No"<<endl; } return 0; }
相关文章推荐
- UVALive 7267 Mysterious Antiques in Sackler Museum (判断长方形)
- 2015北京邀请赛 UVALive7267 Mysterious Antiques in Sackler Museum
- UVALive 7267 Mysterious Antiques in Sackler Museum (判断长方形)
- UVALive - 7267 Mysterious Antiques in Sackler Museum
- UVaLive 7267 Mysterious Antiques in Sackler Museum (if-else,枚举)
- UVALive 7267 Mysterious Antiques in Sackler Museum(dfs)
- 【hihocoder1255 2015北京赛区G】【简单模拟 简化写法超棒哦】 Mysterious Antiques in Sackler Museum 四个矩形选三个 恰好拼成大矩形
- UVA7267 Mysterious Antiques in Sackler Museum (强行模拟)
- 【hihocoder1255 Mysterious Antiques in Sackler Museum】构造 枚举
- hihoCoder 1255 Mysterious Antiques in Sackler Museum(水)
- UVALive2158 POJ1401 HDU1124 ZOJ2024 Factorial【分析思维】
- UVALive - 3213 Ancient Cipher ( 思维 )
- UVALive 6092 Catching Shade in Flatland --枚举+几何计算
- UVALive - 7501 思维 +二分
- UVALive-7601 Football(思维)
- 思维 UVALive 3708 Graveyard
- UVaLive LA 5052 UVa 1481 - Genome Evolution (很巧妙的思维)
- Islands in the Data Stream UVALive - 7092
- POJ1964/UVALive 3029 -City Game -求最大子矩形-(暴力枚举/dp)
- UvaLive 6600 Spanning trees in a secure lock pattern 矩阵行列式