Codeforces 610C:Harmony Analysis(构造)
生活随笔
收集整理的這篇文章主要介紹了
Codeforces 610C:Harmony Analysis(构造)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
【題目鏈接】?http://codeforces.com/problemset/problem/610/C
?
【題目大意】
構造出2^n個由1和-1組成的串使得其兩兩點積為0
?
【題解】
我們可以構造這樣一個矩陣,右下角四分之一和其余三個分塊相反,
不斷擴展這個矩陣即可。
?
【代碼】
#include <cstdio> #define rep(i,n) for(int i=1;i<=n;i++) using namespace std; const int N=1000; int k,p[N][N]; int main(){for(int n=1;n<=9;n++){int m=1<<(n-1);rep(i,m)rep(j,m)p[i+m][j]=p[i][j+m]=p[i][j],p[i+m][j+m]=!p[i][j];}while(~scanf("%d",&k)){rep(i,1<<k){rep(j,1<<k)putchar(p[i][j]?'+':'*');puts("");}}return 0; }轉載于:https://www.cnblogs.com/forever97/p/codeforces610c.html
總結
以上是生活随笔為你收集整理的Codeforces 610C:Harmony Analysis(构造)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统性能优化及瓶颈分析
- 下一篇: Linux文字分段裁剪命令cut(转)