1. 程式人生 > >洛谷 1498 南蠻圖騰——模擬

洛谷 1498 南蠻圖騰——模擬

clas spa blank problem sin lan () using ble

題目:https://www.luogu.org/problemnew/show/P1498

每多1,長和寬翻倍。先把圖案移到下面,同時把下面的右邊也弄上,然後把上面清空,找準位置copy下面的圖案。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1030;
int A,n,m;
char a[N][N<<1];
void init()
{
    n=2;m=4;
    a[1
][1]=a[1][4]= ;a[1][2]=a[2][1]=/; a[1][3]=a[2][4]=\\;a[2][2]=a[2][3]=_; } int main() { init(); scanf("%d",&A); while(--A) { int yn=n,ym=m;n<<=1;m<<=1; for(int i=yn+1;i<=n;i++) for(int j=1;j<=ym;j++) a[i][j]=a[i-yn][j],a[i][j+ym]=a[i][j];
for(int i=1;i<=yn;i++) for(int j=1;j<=m;j++)a[i][j]= ; for(int i=1;i<=yn;i++) for(int j=(ym>>1)+1,k=1;k<=ym;j++,k++) a[i][j]=a[i+yn][k]; } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++)printf("%c",a[i][j]);
if(i!=n)printf("\n"); } return 0; }

洛谷 1498 南蠻圖騰——模擬