Advertisement

UVa 12113 (Overlapping Squares)

阅读量:

题目:
假设存在一个4*4的棋盘,并且棋盘上展示了若干纸张的边缘,试判断是否能够利用不超过6张纸来构造出这种情形。

要点:
无,测试数据较为简单,无需担心出现超时问题。
然而在我的个人电脑上运行时,耗时必定超过3秒,那些测试样例……
不过实际运行时间仅为110毫秒便通过了。

代码长度较长,但逻辑清晰、易于理解,并且附有详细注释。

复制代码
    #include<bits/stdc++.h>
    #define LL long long
    using namespace std;
    int pic[5][10];  //定义原始图形 
    int p[5][10];   //之后的图形
    
    /*
    0表示 " "
    1表示 "_"
    2表示 "|"
    
    一个正方形的填充区域
    01010
    20002
    21012
    */
    
    bool vis[10];
    bool read() {
    	memset(pic, 0, sizeof(pic));
    	memset(p, 0, sizeof(p));
    	memset(vis, 0, sizeof(vis));
    	//五行 7列
    	for (int i = 0; 

全部评论 (0)

还没有任何评论哟~