Lattice Animals

前言

考场觉得这道题暴力太难写所以没写,结果正解就是暴力= =

题目

洛谷

POJ

讲解

直接暴力打表就行了。

只要写的不是很丑,应该可以在 (10) 分钟内跑出来,我跑了 (430s)

这种题记得开 (O2) 跑。

代码

打表代码
//12252024832524
#include <set>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define TT template<typename T>
using namespace std; 

typedef long long LL;
const int MAXN = 11;
const int INF = 0x3f3f3f3f;

LL Read()
{
    LL x = 0,f = 1;char c = getchar();
    while(c > '9' || c < '0'){if(c == '-')f = -1;c = getchar();}
    while(c >= '0' && c <= '9'){x = (x*10) + (c^48);c = getchar();}
    return x * f;
}
TT void Put1(T x)
{
    if(x > 9) Put1(x/10);
    putchar(x%10^48);
}
TT void Put(T x,char c = -1)
{
    if(x < 0) putchar('-'),x = -x;
    Put1(x); if(c >= 0) putchar(c);
}
TT T Max(T x,T y){return x > y ? x : y;}
TT T Min(T x,T y){return x < y ? x : y;}
TT T Abs(T x){return x < 0 ? -x : x;}

struct node
{
    mutable int x,y;
    node(){}
    node(int xx,int yy){
        x = xx;
        y = yy;
    }
    bool operator < (const node &px)const{
        if(x ^ px.x) return x < px.x;
        return y < px.y;
    }
    bool operator == (const node &px) const{
        return (x == px.x) && (y == px.y);
    }
};
typedef set<node> block;
set<block> vis[11],s[11];
int dx[4] = {1,-1},dy[4] = {0,0,1,-1};

int ans[MAXN][MAXN][MAXN];//n,w,h

block up(block A)
{
    int XMIN = INF,YMIN = INF;
    block::iterator it;
    for(it = A.begin();it != A.end();++ it) XMIN = Min(XMIN,(*it).x),YMIN = Min(YMIN,(*it).y);
    for(it = A.begin();it != A.end();++ it) ((*it).x) -= XMIN,((*it).y) -= YMIN;
    return A;
}
bool v[MAXN][MAXN];
bool check(int x,block now)
{
    if(*(vis[x].lower_bound(now)) == now) return 1;
    return 0;
}
block zhuan(block A)
{
    block ret;
    for(block::iterator zhuanit = A.begin();zhuanit != A.end();++ zhuanit)
    {
        int x = (*zhuanit).x,y = (*zhuanit).y;
        int ax = 10-x,ay = 10-y;
        ret.insert(node(10-ay,10+ax));
    }
    return up(ret);
}
block lrfan(block A)
{
    block ret;
    for(block::iterator fanit = A.begin();fanit != A.end();++ fanit)
    {
        int x = (*fanit).x,y = (*fanit).y;
        ret.insert(node(x,20-y));
    }
    return up(ret);
}
block udfan(block A)
{
    block ret;
    for(block::iterator fanit = A.begin();fanit != A.end();++ fanit)
    {
        int x = (*fanit).x,y = (*fanit).y;
        ret.insert(node(20-x,y));
    }
    return up(ret);
}
int TTT;
void jia(int x,block now)//here
{
//	printf("jia %d
",x);
    s[x].insert(now); ++ TTT;
	for(int i = 0;i < 4;++ i)
	{
		now = zhuan(now);
		vis[x].insert(now);
		vis[x].insert(lrfan(now));
		vis[x].insert(udfan(now));
	}
}
void dfs(int x,block now)
{
//    printf("woc1 %d
",x);
    if(check(x,now)) return;
    if(!check(x,up(now))) jia(x,up(now));
    if(x == 10) return;
    block JJ;
    for(block::iterator dfsit = now.begin();dfsit != now.end();++ dfsit)
    {
        for(int i = 0;i < 4;++ i)
        {
            int tox = (*dfsit).x + dx[i],toy = (*dfsit).y + dy[i];
            if(tox < 0 || toy < 0 || tox >= 10 || toy >= 10) continue;
            if(v[tox][toy]) continue;
            JJ.insert(node(tox,toy));
        }
    }
    for(block::iterator JJit = JJ.begin();JJit != JJ.end();++ JJit)
    {
    	now.insert(*JJit);
    	v[(*JJit).x][(*JJit).y] = 1;
		dfs(x+1,now);
    	v[(*JJit).x][(*JJit).y] = 0;
        now.erase(now.lower_bound(*JJit));
    }
}
void solve()
{
    block dz;
    for(int i = 0;i < 5;++ i) 
    {
    	v[0][i] = 1;
        dz.insert(node(0,i));
        dfs(1,dz);
    	v[0][i] = 0;
        dz.clear();
    }
    for(int i = 1;i <= 10;++ i)
    	for(set<block>::iterator it = s[i].begin();it != s[i].end();++ it)
    	{
    		int MX = 0,MY = 0;
    		for(block::iterator i2 = (*it).begin();i2 != (*it).end();++ i2) MX = Max(MX,(*i2).x),MY = Max(MY,(*i2).y);
			for(int w = 1;w <= 10;++ w)
    			for(int h = 1;h <= 10;++ h)
    				if((MX < w && MY < h) || (MX < h && MY < w))
						++ans[i][w][h];
    	}
  	freopen("mine.out","w",stdout);
  	for(int i = 1;i <= 10;++ i,putchar('
'))
  		for(int j = 1;j <= 10;++ j)
  			for(int k = 1;k <= 10;++ k)
  				printf("ans[%d][%d][%d]=%d;",i,j,k,ans[i][j][k]);
}

int main()
{
//  freopen(".in","r",stdin);
//  freopen(".out","w",stdout);
    solve();
    return 0;
}
提交代码
//12252024832524
#include <cstdio>
#include <cstring>
#include <algorithm>
#define TT template<typename T>
using namespace std; 

typedef long long LL;
const int MAXN = 100005;
int n,w,h;

LL Read()
{
	LL x = 0,f = 1;char c = getchar();
	while(c > '9' || c < '0'){if(c == '-')f = -1;c = getchar();}
	while(c >= '0' && c <= '9'){x = (x*10) + (c^48);c = getchar();}
	return x * f;
}
TT void Put1(T x)
{
	if(x > 9) Put1(x/10);
	putchar(x%10^48);
}
TT void Put(T x,char c = -1)
{
	if(x < 0) putchar('-'),x = -x;
	Put1(x); if(c >= 0) putchar(c);
}
TT T Max(T x,T y){return x > y ? x : y;}
TT T Min(T x,T y){return x < y ? x : y;}
TT T Abs(T x){return x < 0 ? -x : x;}

int ans[11][11][11];

int main()
{
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	ans[1][1][1]=1;ans[1][1][2]=1;ans[1][1][3]=1;ans[1][1][4]=1;ans[1][1][5]=1;ans[1][1][6]=1;ans[1][1][7]=1;ans[1][1][8]=1;ans[1][1][9]=1;ans[1][1][10]=1;ans[1][2][1]=1;ans[1][2][2]=1;ans[1][2][3]=1;ans[1][2][4]=1;ans[1][2][5]=1;ans[1][2][6]=1;ans[1][2][7]=1;ans[1][2][8]=1;ans[1][2][9]=1;ans[1][2][10]=1;ans[1][3][1]=1;ans[1][3][2]=1;ans[1][3][3]=1;ans[1][3][4]=1;ans[1][3][5]=1;ans[1][3][6]=1;ans[1][3][7]=1;ans[1][3][8]=1;ans[1][3][9]=1;ans[1][3][10]=1;ans[1][4][1]=1;ans[1][4][2]=1;ans[1][4][3]=1;ans[1][4][4]=1;ans[1][4][5]=1;ans[1][4][6]=1;ans[1][4][7]=1;ans[1][4][8]=1;ans[1][4][9]=1;ans[1][4][10]=1;ans[1][5][1]=1;ans[1][5][2]=1;ans[1][5][3]=1;ans[1][5][4]=1;ans[1][5][5]=1;ans[1][5][6]=1;ans[1][5][7]=1;ans[1][5][8]=1;ans[1][5][9]=1;ans[1][5][10]=1;ans[1][6][1]=1;ans[1][6][2]=1;ans[1][6][3]=1;ans[1][6][4]=1;ans[1][6][5]=1;ans[1][6][6]=1;ans[1][6][7]=1;ans[1][6][8]=1;ans[1][6][9]=1;ans[1][6][10]=1;ans[1][7][1]=1;ans[1][7][2]=1;ans[1][7][3]=1;ans[1][7][4]=1;ans[1][7][5]=1;ans[1][7][6]=1;ans[1][7][7]=1;ans[1][7][8]=1;ans[1][7][9]=1;ans[1][7][10]=1;ans[1][8][1]=1;ans[1][8][2]=1;ans[1][8][3]=1;ans[1][8][4]=1;ans[1][8][5]=1;ans[1][8][6]=1;ans[1][8][7]=1;ans[1][8][8]=1;ans[1][8][9]=1;ans[1][8][10]=1;ans[1][9][1]=1;ans[1][9][2]=1;ans[1][9][3]=1;ans[1][9][4]=1;ans[1][9][5]=1;ans[1][9][6]=1;ans[1][9][7]=1;ans[1][9][8]=1;ans[1][9][9]=1;ans[1][9][10]=1;ans[1][10][1]=1;ans[1][10][2]=1;ans[1][10][3]=1;ans[1][10][4]=1;ans[1][10][5]=1;ans[1][10][6]=1;ans[1][10][7]=1;ans[1][10][8]=1;ans[1][10][9]=1;ans[1][10][10]=1;
	ans[2][1][1]=0;ans[2][1][2]=1;ans[2][1][3]=1;ans[2][1][4]=1;ans[2][1][5]=1;ans[2][1][6]=1;ans[2][1][7]=1;ans[2][1][8]=1;ans[2][1][9]=1;ans[2][1][10]=1;ans[2][2][1]=1;ans[2][2][2]=1;ans[2][2][3]=1;ans[2][2][4]=1;ans[2][2][5]=1;ans[2][2][6]=1;ans[2][2][7]=1;ans[2][2][8]=1;ans[2][2][9]=1;ans[2][2][10]=1;ans[2][3][1]=1;ans[2][3][2]=1;ans[2][3][3]=1;ans[2][3][4]=1;ans[2][3][5]=1;ans[2][3][6]=1;ans[2][3][7]=1;ans[2][3][8]=1;ans[2][3][9]=1;ans[2][3][10]=1;ans[2][4][1]=1;ans[2][4][2]=1;ans[2][4][3]=1;ans[2][4][4]=1;ans[2][4][5]=1;ans[2][4][6]=1;ans[2][4][7]=1;ans[2][4][8]=1;ans[2][4][9]=1;ans[2][4][10]=1;ans[2][5][1]=1;ans[2][5][2]=1;ans[2][5][3]=1;ans[2][5][4]=1;ans[2][5][5]=1;ans[2][5][6]=1;ans[2][5][7]=1;ans[2][5][8]=1;ans[2][5][9]=1;ans[2][5][10]=1;ans[2][6][1]=1;ans[2][6][2]=1;ans[2][6][3]=1;ans[2][6][4]=1;ans[2][6][5]=1;ans[2][6][6]=1;ans[2][6][7]=1;ans[2][6][8]=1;ans[2][6][9]=1;ans[2][6][10]=1;ans[2][7][1]=1;ans[2][7][2]=1;ans[2][7][3]=1;ans[2][7][4]=1;ans[2][7][5]=1;ans[2][7][6]=1;ans[2][7][7]=1;ans[2][7][8]=1;ans[2][7][9]=1;ans[2][7][10]=1;ans[2][8][1]=1;ans[2][8][2]=1;ans[2][8][3]=1;ans[2][8][4]=1;ans[2][8][5]=1;ans[2][8][6]=1;ans[2][8][7]=1;ans[2][8][8]=1;ans[2][8][9]=1;ans[2][8][10]=1;ans[2][9][1]=1;ans[2][9][2]=1;ans[2][9][3]=1;ans[2][9][4]=1;ans[2][9][5]=1;ans[2][9][6]=1;ans[2][9][7]=1;ans[2][9][8]=1;ans[2][9][9]=1;ans[2][9][10]=1;ans[2][10][1]=1;ans[2][10][2]=1;ans[2][10][3]=1;ans[2][10][4]=1;ans[2][10][5]=1;ans[2][10][6]=1;ans[2][10][7]=1;ans[2][10][8]=1;ans[2][10][9]=1;ans[2][10][10]=1;
	ans[3][1][1]=0;ans[3][1][2]=0;ans[3][1][3]=1;ans[3][1][4]=1;ans[3][1][5]=1;ans[3][1][6]=1;ans[3][1][7]=1;ans[3][1][8]=1;ans[3][1][9]=1;ans[3][1][10]=1;ans[3][2][1]=0;ans[3][2][2]=1;ans[3][2][3]=2;ans[3][2][4]=2;ans[3][2][5]=2;ans[3][2][6]=2;ans[3][2][7]=2;ans[3][2][8]=2;ans[3][2][9]=2;ans[3][2][10]=2;ans[3][3][1]=1;ans[3][3][2]=2;ans[3][3][3]=2;ans[3][3][4]=2;ans[3][3][5]=2;ans[3][3][6]=2;ans[3][3][7]=2;ans[3][3][8]=2;ans[3][3][9]=2;ans[3][3][10]=2;ans[3][4][1]=1;ans[3][4][2]=2;ans[3][4][3]=2;ans[3][4][4]=2;ans[3][4][5]=2;ans[3][4][6]=2;ans[3][4][7]=2;ans[3][4][8]=2;ans[3][4][9]=2;ans[3][4][10]=2;ans[3][5][1]=1;ans[3][5][2]=2;ans[3][5][3]=2;ans[3][5][4]=2;ans[3][5][5]=2;ans[3][5][6]=2;ans[3][5][7]=2;ans[3][5][8]=2;ans[3][5][9]=2;ans[3][5][10]=2;ans[3][6][1]=1;ans[3][6][2]=2;ans[3][6][3]=2;ans[3][6][4]=2;ans[3][6][5]=2;ans[3][6][6]=2;ans[3][6][7]=2;ans[3][6][8]=2;ans[3][6][9]=2;ans[3][6][10]=2;ans[3][7][1]=1;ans[3][7][2]=2;ans[3][7][3]=2;ans[3][7][4]=2;ans[3][7][5]=2;ans[3][7][6]=2;ans[3][7][7]=2;ans[3][7][8]=2;ans[3][7][9]=2;ans[3][7][10]=2;ans[3][8][1]=1;ans[3][8][2]=2;ans[3][8][3]=2;ans[3][8][4]=2;ans[3][8][5]=2;ans[3][8][6]=2;ans[3][8][7]=2;ans[3][8][8]=2;ans[3][8][9]=2;ans[3][8][10]=2;ans[3][9][1]=1;ans[3][9][2]=2;ans[3][9][3]=2;ans[3][9][4]=2;ans[3][9][5]=2;ans[3][9][6]=2;ans[3][9][7]=2;ans[3][9][8]=2;ans[3][9][9]=2;ans[3][9][10]=2;ans[3][10][1]=1;ans[3][10][2]=2;ans[3][10][3]=2;ans[3][10][4]=2;ans[3][10][5]=2;ans[3][10][6]=2;ans[3][10][7]=2;ans[3][10][8]=2;ans[3][10][9]=2;ans[3][10][10]=2;
	ans[4][1][1]=0;ans[4][1][2]=0;ans[4][1][3]=0;ans[4][1][4]=1;ans[4][1][5]=1;ans[4][1][6]=1;ans[4][1][7]=1;ans[4][1][8]=1;ans[4][1][9]=1;ans[4][1][10]=1;ans[4][2][1]=0;ans[4][2][2]=1;ans[4][2][3]=4;ans[4][2][4]=5;ans[4][2][5]=5;ans[4][2][6]=5;ans[4][2][7]=5;ans[4][2][8]=5;ans[4][2][9]=5;ans[4][2][10]=5;ans[4][3][1]=0;ans[4][3][2]=4;ans[4][3][3]=4;ans[4][3][4]=5;ans[4][3][5]=5;ans[4][3][6]=5;ans[4][3][7]=5;ans[4][3][8]=5;ans[4][3][9]=5;ans[4][3][10]=5;ans[4][4][1]=1;ans[4][4][2]=5;ans[4][4][3]=5;ans[4][4][4]=5;ans[4][4][5]=5;ans[4][4][6]=5;ans[4][4][7]=5;ans[4][4][8]=5;ans[4][4][9]=5;ans[4][4][10]=5;ans[4][5][1]=1;ans[4][5][2]=5;ans[4][5][3]=5;ans[4][5][4]=5;ans[4][5][5]=5;ans[4][5][6]=5;ans[4][5][7]=5;ans[4][5][8]=5;ans[4][5][9]=5;ans[4][5][10]=5;ans[4][6][1]=1;ans[4][6][2]=5;ans[4][6][3]=5;ans[4][6][4]=5;ans[4][6][5]=5;ans[4][6][6]=5;ans[4][6][7]=5;ans[4][6][8]=5;ans[4][6][9]=5;ans[4][6][10]=5;ans[4][7][1]=1;ans[4][7][2]=5;ans[4][7][3]=5;ans[4][7][4]=5;ans[4][7][5]=5;ans[4][7][6]=5;ans[4][7][7]=5;ans[4][7][8]=5;ans[4][7][9]=5;ans[4][7][10]=5;ans[4][8][1]=1;ans[4][8][2]=5;ans[4][8][3]=5;ans[4][8][4]=5;ans[4][8][5]=5;ans[4][8][6]=5;ans[4][8][7]=5;ans[4][8][8]=5;ans[4][8][9]=5;ans[4][8][10]=5;ans[4][9][1]=1;ans[4][9][2]=5;ans[4][9][3]=5;ans[4][9][4]=5;ans[4][9][5]=5;ans[4][9][6]=5;ans[4][9][7]=5;ans[4][9][8]=5;ans[4][9][9]=5;ans[4][9][10]=5;ans[4][10][1]=1;ans[4][10][2]=5;ans[4][10][3]=5;ans[4][10][4]=5;ans[4][10][5]=5;ans[4][10][6]=5;ans[4][10][7]=5;ans[4][10][8]=5;ans[4][10][9]=5;ans[4][10][10]=5;
	ans[5][1][1]=0;ans[5][1][2]=0;ans[5][1][3]=0;ans[5][1][4]=0;ans[5][1][5]=1;ans[5][1][6]=1;ans[5][1][7]=1;ans[5][1][8]=1;ans[5][1][9]=1;ans[5][1][10]=1;ans[5][2][1]=0;ans[5][2][2]=0;ans[5][2][3]=2;ans[5][2][4]=5;ans[5][2][5]=6;ans[5][2][6]=6;ans[5][2][7]=6;ans[5][2][8]=6;ans[5][2][9]=6;ans[5][2][10]=6;ans[5][3][1]=0;ans[5][3][2]=2;ans[5][3][3]=8;ans[5][3][4]=11;ans[5][3][5]=12;ans[5][3][6]=12;ans[5][3][7]=12;ans[5][3][8]=12;ans[5][3][9]=12;ans[5][3][10]=12;ans[5][4][1]=0;ans[5][4][2]=5;ans[5][4][3]=11;ans[5][4][4]=11;ans[5][4][5]=12;ans[5][4][6]=12;ans[5][4][7]=12;ans[5][4][8]=12;ans[5][4][9]=12;ans[5][4][10]=12;ans[5][5][1]=1;ans[5][5][2]=6;ans[5][5][3]=12;ans[5][5][4]=12;ans[5][5][5]=12;ans[5][5][6]=12;ans[5][5][7]=12;ans[5][5][8]=12;ans[5][5][9]=12;ans[5][5][10]=12;ans[5][6][1]=1;ans[5][6][2]=6;ans[5][6][3]=12;ans[5][6][4]=12;ans[5][6][5]=12;ans[5][6][6]=12;ans[5][6][7]=12;ans[5][6][8]=12;ans[5][6][9]=12;ans[5][6][10]=12;ans[5][7][1]=1;ans[5][7][2]=6;ans[5][7][3]=12;ans[5][7][4]=12;ans[5][7][5]=12;ans[5][7][6]=12;ans[5][7][7]=12;ans[5][7][8]=12;ans[5][7][9]=12;ans[5][7][10]=12;ans[5][8][1]=1;ans[5][8][2]=6;ans[5][8][3]=12;ans[5][8][4]=12;ans[5][8][5]=12;ans[5][8][6]=12;ans[5][8][7]=12;ans[5][8][8]=12;ans[5][8][9]=12;ans[5][8][10]=12;ans[5][9][1]=1;ans[5][9][2]=6;ans[5][9][3]=12;ans[5][9][4]=12;ans[5][9][5]=12;ans[5][9][6]=12;ans[5][9][7]=12;ans[5][9][8]=12;ans[5][9][9]=12;ans[5][9][10]=12;ans[5][10][1]=1;ans[5][10][2]=6;ans[5][10][3]=12;ans[5][10][4]=12;ans[5][10][5]=12;ans[5][10][6]=12;ans[5][10][7]=12;ans[5][10][8]=12;ans[5][10][9]=12;ans[5][10][10]=12;
	ans[6][1][1]=0;ans[6][1][2]=0;ans[6][1][3]=0;ans[6][1][4]=0;ans[6][1][5]=0;ans[6][1][6]=1;ans[6][1][7]=1;ans[6][1][8]=1;ans[6][1][9]=1;ans[6][1][10]=1;ans[6][2][1]=0;ans[6][2][2]=0;ans[6][2][3]=1;ans[6][2][4]=7;ans[6][2][5]=12;ans[6][2][6]=13;ans[6][2][7]=13;ans[6][2][8]=13;ans[6][2][9]=13;ans[6][2][10]=13;ans[6][3][1]=0;ans[6][3][2]=1;ans[6][3][3]=8;ans[6][3][4]=29;ans[6][3][5]=34;ans[6][3][6]=35;ans[6][3][7]=35;ans[6][3][8]=35;ans[6][3][9]=35;ans[6][3][10]=35;ans[6][4][1]=0;ans[6][4][2]=7;ans[6][4][3]=29;ans[6][4][4]=29;ans[6][4][5]=34;ans[6][4][6]=35;ans[6][4][7]=35;ans[6][4][8]=35;ans[6][4][9]=35;ans[6][4][10]=35;ans[6][5][1]=0;ans[6][5][2]=12;ans[6][5][3]=34;ans[6][5][4]=34;ans[6][5][5]=34;ans[6][5][6]=35;ans[6][5][7]=35;ans[6][5][8]=35;ans[6][5][9]=35;ans[6][5][10]=35;ans[6][6][1]=1;ans[6][6][2]=13;ans[6][6][3]=35;ans[6][6][4]=35;ans[6][6][5]=35;ans[6][6][6]=35;ans[6][6][7]=35;ans[6][6][8]=35;ans[6][6][9]=35;ans[6][6][10]=35;ans[6][7][1]=1;ans[6][7][2]=13;ans[6][7][3]=35;ans[6][7][4]=35;ans[6][7][5]=35;ans[6][7][6]=35;ans[6][7][7]=35;ans[6][7][8]=35;ans[6][7][9]=35;ans[6][7][10]=35;ans[6][8][1]=1;ans[6][8][2]=13;ans[6][8][3]=35;ans[6][8][4]=35;ans[6][8][5]=35;ans[6][8][6]=35;ans[6][8][7]=35;ans[6][8][8]=35;ans[6][8][9]=35;ans[6][8][10]=35;ans[6][9][1]=1;ans[6][9][2]=13;ans[6][9][3]=35;ans[6][9][4]=35;ans[6][9][5]=35;ans[6][9][6]=35;ans[6][9][7]=35;ans[6][9][8]=35;ans[6][9][9]=35;ans[6][9][10]=35;ans[6][10][1]=1;ans[6][10][2]=13;ans[6][10][3]=35;ans[6][10][4]=35;ans[6][10][5]=35;ans[6][10][6]=35;ans[6][10][7]=35;ans[6][10][8]=35;ans[6][10][9]=35;ans[6][10][10]=35;
	ans[7][1][1]=0;ans[7][1][2]=0;ans[7][1][3]=0;ans[7][1][4]=0;ans[7][1][5]=0;ans[7][1][6]=0;ans[7][1][7]=1;ans[7][1][8]=1;ans[7][1][9]=1;ans[7][1][10]=1;ans[7][2][1]=0;ans[7][2][2]=0;ans[7][2][3]=0;ans[7][2][4]=2;ans[7][2][5]=13;ans[7][2][6]=18;ans[7][2][7]=19;ans[7][2][8]=19;ans[7][2][9]=19;ans[7][2][10]=19;ans[7][3][1]=0;ans[7][3][2]=0;ans[7][3][3]=7;ans[7][3][4]=48;ans[7][3][5]=84;ans[7][3][6]=89;ans[7][3][7]=90;ans[7][3][8]=90;ans[7][3][9]=90;ans[7][3][10]=90;ans[7][4][1]=0;ans[7][4][2]=2;ans[7][4][3]=48;ans[7][4][4]=66;ans[7][4][5]=102;ans[7][4][6]=107;ans[7][4][7]=108;ans[7][4][8]=108;ans[7][4][9]=108;ans[7][4][10]=108;ans[7][5][1]=0;ans[7][5][2]=13;ans[7][5][3]=84;ans[7][5][4]=102;ans[7][5][5]=102;ans[7][5][6]=107;ans[7][5][7]=108;ans[7][5][8]=108;ans[7][5][9]=108;ans[7][5][10]=108;ans[7][6][1]=0;ans[7][6][2]=18;ans[7][6][3]=89;ans[7][6][4]=107;ans[7][6][5]=107;ans[7][6][6]=107;ans[7][6][7]=108;ans[7][6][8]=108;ans[7][6][9]=108;ans[7][6][10]=108;ans[7][7][1]=1;ans[7][7][2]=19;ans[7][7][3]=90;ans[7][7][4]=108;ans[7][7][5]=108;ans[7][7][6]=108;ans[7][7][7]=108;ans[7][7][8]=108;ans[7][7][9]=108;ans[7][7][10]=108;ans[7][8][1]=1;ans[7][8][2]=19;ans[7][8][3]=90;ans[7][8][4]=108;ans[7][8][5]=108;ans[7][8][6]=108;ans[7][8][7]=108;ans[7][8][8]=108;ans[7][8][9]=108;ans[7][8][10]=108;ans[7][9][1]=1;ans[7][9][2]=19;ans[7][9][3]=90;ans[7][9][4]=108;ans[7][9][5]=108;ans[7][9][6]=108;ans[7][9][7]=108;ans[7][9][8]=108;ans[7][9][9]=108;ans[7][9][10]=108;ans[7][10][1]=1;ans[7][10][2]=19;ans[7][10][3]=90;ans[7][10][4]=108;ans[7][10][5]=108;ans[7][10][6]=108;ans[7][10][7]=108;ans[7][10][8]=108;ans[7][10][9]=108;ans[7][10][10]=108;
	ans[8][1][1]=0;ans[8][1][2]=0;ans[8][1][3]=0;ans[8][1][4]=0;ans[8][1][5]=0;ans[8][1][6]=0;ans[8][1][7]=0;ans[8][1][8]=1;ans[8][1][9]=1;ans[8][1][10]=1;ans[8][2][1]=0;ans[8][2][2]=0;ans[8][2][3]=0;ans[8][2][4]=1;ans[8][2][5]=11;ans[8][2][6]=30;ans[8][2][7]=37;ans[8][2][8]=38;ans[8][2][9]=38;ans[8][2][10]=38;ans[8][3][1]=0;ans[8][3][2]=0;ans[8][3][3]=3;ans[8][3][4]=63;ans[8][3][5]=169;ans[8][3][6]=223;ans[8][3][7]=230;ans[8][3][8]=231;ans[8][3][9]=231;ans[8][3][10]=231;ans[8][4][1]=0;ans[8][4][2]=1;ans[8][4][3]=63;ans[8][4][4]=140;ans[8][4][5]=307;ans[8][4][6]=361;ans[8][4][7]=368;ans[8][4][8]=369;ans[8][4][9]=369;ans[8][4][10]=369;ans[8][5][1]=0;ans[8][5][2]=11;ans[8][5][3]=169;ans[8][5][4]=307;ans[8][5][5]=307;ans[8][5][6]=361;ans[8][5][7]=368;ans[8][5][8]=369;ans[8][5][9]=369;ans[8][5][10]=369;ans[8][6][1]=0;ans[8][6][2]=30;ans[8][6][3]=223;ans[8][6][4]=361;ans[8][6][5]=361;ans[8][6][6]=361;ans[8][6][7]=368;ans[8][6][8]=369;ans[8][6][9]=369;ans[8][6][10]=369;ans[8][7][1]=0;ans[8][7][2]=37;ans[8][7][3]=230;ans[8][7][4]=368;ans[8][7][5]=368;ans[8][7][6]=368;ans[8][7][7]=368;ans[8][7][8]=369;ans[8][7][9]=369;ans[8][7][10]=369;ans[8][8][1]=1;ans[8][8][2]=38;ans[8][8][3]=231;ans[8][8][4]=369;ans[8][8][5]=369;ans[8][8][6]=369;ans[8][8][7]=369;ans[8][8][8]=369;ans[8][8][9]=369;ans[8][8][10]=369;ans[8][9][1]=1;ans[8][9][2]=38;ans[8][9][3]=231;ans[8][9][4]=369;ans[8][9][5]=369;ans[8][9][6]=369;ans[8][9][7]=369;ans[8][9][8]=369;ans[8][9][9]=369;ans[8][9][10]=369;ans[8][10][1]=1;ans[8][10][2]=38;ans[8][10][3]=231;ans[8][10][4]=369;ans[8][10][5]=369;ans[8][10][6]=369;ans[8][10][7]=369;ans[8][10][8]=369;ans[8][10][9]=369;ans[8][10][10]=369;
	ans[9][1][1]=0;ans[9][1][2]=0;ans[9][1][3]=0;ans[9][1][4]=0;ans[9][1][5]=0;ans[9][1][6]=0;ans[9][1][7]=0;ans[9][1][8]=0;ans[9][1][9]=1;ans[9][1][10]=1;ans[9][2][1]=0;ans[9][2][2]=0;ans[9][2][3]=0;ans[9][2][4]=0;ans[9][2][5]=3;ans[9][2][6]=25;ans[9][2][7]=53;ans[9][2][8]=60;ans[9][2][9]=61;ans[9][2][10]=61;ans[9][3][1]=0;ans[9][3][2]=0;ans[9][3][3]=1;ans[9][3][4]=43;ans[9][3][5]=256;ans[9][3][6]=466;ans[9][3][7]=543;ans[9][3][8]=550;ans[9][3][9]=551;ans[9][3][10]=551;ans[9][4][1]=0;ans[9][4][2]=0;ans[9][4][3]=43;ans[9][4][4]=224;ans[9][4][5]=820;ans[9][4][6]=1127;ans[9][4][7]=1204;ans[9][4][8]=1211;ans[9][4][9]=1212;ans[9][4][10]=1212;ans[9][5][1]=0;ans[9][5][2]=3;ans[9][5][3]=256;ans[9][5][4]=820;ans[9][5][5]=893;ans[9][5][6]=1200;ans[9][5][7]=1277;ans[9][5][8]=1284;ans[9][5][9]=1285;ans[9][5][10]=1285;ans[9][6][1]=0;ans[9][6][2]=25;ans[9][6][3]=466;ans[9][6][4]=1127;ans[9][6][5]=1200;ans[9][6][6]=1200;ans[9][6][7]=1277;ans[9][6][8]=1284;ans[9][6][9]=1285;ans[9][6][10]=1285;ans[9][7][1]=0;ans[9][7][2]=53;ans[9][7][3]=543;ans[9][7][4]=1204;ans[9][7][5]=1277;ans[9][7][6]=1277;ans[9][7][7]=1277;ans[9][7][8]=1284;ans[9][7][9]=1285;ans[9][7][10]=1285;ans[9][8][1]=0;ans[9][8][2]=60;ans[9][8][3]=550;ans[9][8][4]=1211;ans[9][8][5]=1284;ans[9][8][6]=1284;ans[9][8][7]=1284;ans[9][8][8]=1284;ans[9][8][9]=1285;ans[9][8][10]=1285;ans[9][9][1]=1;ans[9][9][2]=61;ans[9][9][3]=551;ans[9][9][4]=1212;ans[9][9][5]=1285;ans[9][9][6]=1285;ans[9][9][7]=1285;ans[9][9][8]=1285;ans[9][9][9]=1285;ans[9][9][10]=1285;ans[9][10][1]=1;ans[9][10][2]=61;ans[9][10][3]=551;ans[9][10][4]=1212;ans[9][10][5]=1285;ans[9][10][6]=1285;ans[9][10][7]=1285;ans[9][10][8]=1285;ans[9][10][9]=1285;ans[9][10][10]=1285;
	ans[10][1][1]=0;ans[10][1][2]=0;ans[10][1][3]=0;ans[10][1][4]=0;ans[10][1][5]=0;ans[10][1][6]=0;ans[10][1][7]=0;ans[10][1][8]=0;ans[10][1][9]=0;ans[10][1][10]=1;ans[10][2][1]=0;ans[10][2][2]=0;ans[10][2][3]=0;ans[10][2][4]=0;ans[10][2][5]=1;ans[10][2][6]=16;ans[10][2][7]=68;ans[10][2][8]=108;ans[10][2][9]=117;ans[10][2][10]=118;ans[10][3][1]=0;ans[10][3][2]=0;ans[10][3][3]=0;ans[10][3][4]=21;ans[10][3][5]=277;ans[10][3][6]=842;ans[10][3][7]=1226;ans[10][3][8]=1329;ans[10][3][9]=1338;ans[10][3][10]=1339;ans[10][4][1]=0;ans[10][4][2]=0;ans[10][4][3]=21;ans[10][4][4]=287;ans[10][4][5]=1847;ans[10][4][6]=3234;ans[10][4][7]=3773;ans[10][4][8]=3876;ans[10][4][9]=3885;ans[10][4][10]=3886;ans[10][5][1]=0;ans[10][5][2]=1;ans[10][5][3]=277;ans[10][5][4]=1847;ans[10][5][5]=2376;ans[10][5][6]=4003;ans[10][5][7]=4542;ans[10][5][8]=4645;ans[10][5][9]=4654;ans[10][5][10]=4655;ans[10][6][1]=0;ans[10][6][2]=16;ans[10][6][3]=842;ans[10][6][4]=3234;ans[10][6][5]=4003;ans[10][6][6]=4003;ans[10][6][7]=4542;ans[10][6][8]=4645;ans[10][6][9]=4654;ans[10][6][10]=4655;ans[10][7][1]=0;ans[10][7][2]=68;ans[10][7][3]=1226;ans[10][7][4]=3773;ans[10][7][5]=4542;ans[10][7][6]=4542;ans[10][7][7]=4542;ans[10][7][8]=4645;ans[10][7][9]=4654;ans[10][7][10]=4655;ans[10][8][1]=0;ans[10][8][2]=108;ans[10][8][3]=1329;ans[10][8][4]=3876;ans[10][8][5]=4645;ans[10][8][6]=4645;ans[10][8][7]=4645;ans[10][8][8]=4645;ans[10][8][9]=4654;ans[10][8][10]=4655;ans[10][9][1]=0;ans[10][9][2]=117;ans[10][9][3]=1338;ans[10][9][4]=3885;ans[10][9][5]=4654;ans[10][9][6]=4654;ans[10][9][7]=4654;ans[10][9][8]=4654;ans[10][9][9]=4654;ans[10][9][10]=4655;ans[10][10][1]=1;ans[10][10][2]=118;ans[10][10][3]=1339;ans[10][10][4]=3886;ans[10][10][5]=4655;ans[10][10][6]=4655;ans[10][10][7]=4655;ans[10][10][8]=4655;ans[10][10][9]=4655;ans[10][10][10]=4655;
	while(~scanf("%d %d %d",&n,&w,&h)) Put(ans[n][w][h],'
');
	return 0;
}
原文地址:https://www.cnblogs.com/PPLPPL/p/15213600.html