⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1.cpp

📁 东南大学版本
💻 CPP
字号:
#include "iostream.h"
#include "stdlib.h"
#define N 1024
#define M 10
#include "math.h"
#define XX int
struct cpl
{
	float r;
	float b;
};
cpl mul(cpl x,cpl y)
{
	cpl s;
	s.r=x.r*y.r-x.b*y.b;
	s.b=x.r*y.b+x.b*y.r;
	return s;
}
cpl add(cpl x,cpl y)
{
	cpl s;
	s.r=x.r+y.r;
	s.b=x.b+y.b;
	return s;
}
float mo(cpl x)
{
	return x.r*x.r+x.b*x.b;
}
cpl w[N][N];
void initw()
{
	for(int i=0;i<N;i++)
		for(int j=0;j<N;j++)
		{
			w[i][j].r=(i-N/2)*0.01;
			w[i][j].b=(j-N/2)*0.01;
		}
}
float idenww(cpl ww)
{
	int k=0;
	float e=1;
	cpl ww1=ww;
	while(k<1000&&e>0.1)
	{
		ww1=mul(ww1,ww1);
		e=mo(ww1);
		k++;
	}
	return e;
}
struct ww
{
	int w;
	int c;
};
ww a[N][N];
int c[N];
ww b[N][N];
int code()
{
	int k=0;
	int s=1;
	for(s=M;s>=1;s--)
	{
		for(int i=0;i<(N>>s);i++)
			for(int j=0;j<(N>>s);j++)
			{
				if(a[i][(N>>s)+j].w>1)
				{
					c[k]=1;
					a[i][(N>>s)+j].c=1;
					k++;
				}
				else
				{
					if(a[i][(N>>s)+j].c!=2)
					{
						for(int l=s-1;l>=1;l--)
						{
							for(int g=0;g<(1<<(s-l));g++)
								for(int h=0;h<(1<<(s-l));h++)
								{
									if(a[(i<<(s-l))+g][(N>>l)+(j<<(s-l))+h].w>1)
									{
										c[k]=3;
									}
								}
						}
						if(c[k]!=3)
						{
							for(int l=s-1;l>=1;l--)
							{
								for(int g=0;g<(1<<(s-l));g++)
									for(int h=0;h<(1<<(s-l));h++)
									{
										a[(i<<(s-l))+g][(N>>l)+(j<<(s-l))+h].c=2;
									}
							}
							c[k]=2;
						}
						k++;
					}
				}
			}
////////////////////////////////////1
		for(i=0;i<(N>>s);i++)
			for(int j=0;j<(N>>s);j++)
			{
				if(a[(N>>s)+i][j].w>1)
				{
					c[k]=1;
					a[(N>>s)+i][j].c=1;
					k++;
				}
				else
				{
					if(a[(N>>s)+i][j].c!=2)
					{
						for(int l=s-1;l>=1;l--)
						{
							for(int g=0;g<(1<<(s-l));g++)
								for(int h=0;h<(1<<(s-l));h++)
								{
									if(a[(N>>l)+(i<<(s-l))+g][(j<<(s-l))+h].w>1)
									{
										c[k]=3;
									}
								}
						}
						if(c[k]!=3)
						{
							for(int l=s-1;l>=1;l--)
							{
								for(int g=0;g<(1<<(s-l));g++)
									for(int h=0;h<(1<<(s-l));h++)
									{
										a[(N>>l)+(i<<(s-l))+g][(j<<(s-l))+h].c=2;
									}
							}
							c[k]=2;
						}
						k++;
					}
				}
			}
//////////////////////////////////////////2
		for(i=0;i<(N>>s);i++)
			for(int j=0;j<(N>>s);j++)
			{
				if(a[(N>>s)+i][(N>>s)+j].w>1)
				{
					c[k]=1;
					a[(N>>s)+i][(N>>s)+j].c=1;
					k++;
				}
				else
				{
					if(a[(N>>s)+i][(N>>s)+j].c!=2)
					{
						for(int l=s-1;l>=1;l--)
						{
							for(int g=0;g<(1<<(s-l));g++)
								for(int h=0;h<(1<<(s-l));h++)
								{
									if(a[(N>>l)+(i<<(s-l))+g][(N>>l)+(j<<(s-l))+h].w>1)
									{
										c[k]=3;
									}
								}
						}
						if(c[k]!=3)
						{
							for(int l=s-1;l>=1;l--)
							{
								for(int g=0;g<(1<<(s-l));g++)
									for(int h=0;h<(1<<(s-l));h++)
									{
										a[(N>>l)+(i<<(s-l))+g][(N>>l)+(j<<(s-l))+h].c=2;
									}
							}
							c[k]=2;
						}
						k++;
					}
				}
			}
	}
	return k-1;
}
void decode()
{
	int k=0;
	int s=1;
	for(s=M;s>=1;s--)
	{
		for(int i=0;i<(N>>s);i++)
			for(int j=0;j<(N>>s);j++)
			{
				if(b[i][(N>>s)+j].c!=2)
				{
					if(c[k]==1)
					{
						b[i][(N>>s)+j].w=2;
						b[i][(N>>s)+j].c=1;
						k++;
					}
					else if(c[k]==2)
					{
					    b[i][(N>>s)+j].w=0;
						b[i][(N>>s)+j].c=2;
					   for(int l=s-1;l>=1;l--)
						{
							for(int g=0;g<(1<<(s-l));g++)
								for(int h=0;h<(1<<(s-l));h++)
								{
									b[(i<<(s-l))+g][(N>>l)+(j<<(s-l))+h].w=0;
									b[(i<<(s-l))+g][(N>>l)+(j<<(s-l))+h].c=2;
								}
						}
					   k++;
					}
					else 
					{
					    b[i][(N>>s)+j].w=0;
						b[i][(N>>s)+j].c=3;
						k++;
					}
				}
			}
////////////////////////////////////1
		for( i=0;i<(N>>s);i++)
			for(int j=0;j<(N>>s);j++)
			{
				if(b[(N>>s)+i][j].c!=2)
				{
					if(c[k]==1)
					{
						b[(N>>s)+i][j].w=2;
						b[(N>>s)+i][j].c=1;
						k++;
					}
					else if(c[k]==2)
					{
					    b[(N>>s)+i][j].w=0;
						b[(N>>s)+i][j].c=2;
					   for(int l=s-1;l>=1;l--)
						{
							for(int g=0;g<(1<<(s-l));g++)
								for(int h=0;h<(1<<(s-l));h++)
								{
									b[(N>>l)+(i<<(s-l))+g][(j<<(s-l))+h].w=0;
									b[(N>>l)+(i<<(s-l))+g][(j<<(s-l))+h].c=2;
								}
						}
					   k++;
					}
					else 
					{
					    b[(N>>s)+i][j].w=0;
						b[(N>>s)+i][j].c=3;
						k++;
					}
				}
			}
//////////////////////////////////////////2
		for( i=0;i<(N>>s);i++)
			for(int j=0;j<(N>>s);j++)
			{
				if(b[(N>>s)+i][(N>>s)+j].c!=2)
				{
					if(c[k]==1)
					{
						b[(N>>s)+i][(N>>s)+j].w=2;
						b[(N>>s)+i][(N>>s)+j].c=1;
						k++;
					}
					else if(c[k]==2)
					{
					    b[(N>>s)+i][(N>>s)+j].w=0;
						b[(N>>s)+i][(N>>s)+j].c=2;
					   for(int l=s-1;l>=1;l--)
						{
							for(int g=0;g<(1<<(s-l));g++)
								for(int h=0;h<(1<<(s-l));h++)
								{
									b[(N>>l)+(i<<(s-l))+g][(N>>l)+(j<<(s-l))+h].w=0;
									b[(N>>l)+(i<<(s-l))+g][(N>>l)+(j<<(s-l))+h].c=2;
								}
						}
					   k++;
					}
					else 
					{
					    b[(N>>s)+i][(N>>s)+j].w=0;
						b[(N>>s)+i][(N>>s)+j].c=3;
						k++;
					}
				}
			}
	}
}
void main()
{
	/*
	for(int i=0;i<N;i++)
		for(int j=0;j<N;j++)
		{
			if(i%2==0&&j%3==0)
			{
				a[i][j].w=2;
			}
			else
			{
				a[i][j].w=0;
			}
		}
	int x=code();
	int y=0;
	decode();
	for(i=0;i<N;i++)
	{
		for(int j=0;j<N;j++)
		{
			if(a[i][j].w!=b[i][j].w)
			{
				y++;
			}
		}
	}
	*/
	int bh=1000;
	int bw=1000;
		short** p0=new short* [bh];
		for(int i=0;i<bh;i++)
		{
			p0[i]=new short [bw];
		}
		for(int m=0;m<bh;m++)
			for(int n=0;n<bw;n++)
			{
				//p0[m][n]=*(pBitmapData+3*(bh*m+n)+0);
			}
	short** p;
	p=new short* [2];
	p[0]=new short [2];
	p[1]=new short [2];
	p[0][0]=10;
	cout<<p[0][0];
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -