问题描述:
给你一个大的有2^n * 2^n个小正方形组成的大正方形,现在给你一个由4个小正方形组成的正方形其中有三个(左下角为空白格),现在用这个正方形去填大正方形,看看会有多少个空白格正方形。
题目链接:
思路:
先找出n为1,2,3时会出现多少个空白格正方形,发现结果为1,3,9一个由1为首项,3为公比的等比数列。
注意:
题目描述,The answer should be printed modulo 106 + 3.所以每一步都要对106 + 3求余。
代码:
#include<iostream>
#include<cstdio>
#include<cmath>
#include<queue>
#include<cstring>
#include<algorithm>
#define INF 0x3f3f3f3f
#define MAX 100
using namespace std;
int main(){
int n;
while(~scanf("%d", &n)){
int ans = 1;
for(int i = 1; i < n; i++){
ans *= 3;
ans %= 1000003;
}
cout << ans << endl;
}
return 0;
}