1493 棋盤遊戲 ac

2021-09-30 17:01:07 字數 1018 閱讀 2027

設實際反色行數為r

rr,則c

cc可以推出來

即n c+

mr−2

rc=s

nc+mr-2rc=s

nc+mr−

2rc=

s所以我們可以列舉r,當遇到合法的r和c時,其對應方案是為

c nr

∗cmc

∗hnr

−r2∗

hmc−

c2c_n^r*c_m^c*h_n^}*h_m^}

cnr​∗c

mc​∗

hn2r

−r​​

∗hm2

c−c​

​其中hnm

h_n^m

hnm​

表示為從n

nn中可重複選出m

mm個元素

具體特判見**

#include #define ll long long

using namespace std;

const ll p=1e9+7,n=2e5+5;

ll n,m,r,c,s,jc[n],ny[n],a;

ll k(ll x,ll y)return a;

}ll c(ll x,ll y)

continue;

}if ((s-m*i)%(n-2*i)) continue;

ll j=(s-m*i)/(n-2*i);

if (j>c || j<0 || ((r-i)&1ll) || ((c-j)&1ll)) continue;

ll x=r-i>>1ll,y=c-j>>1ll;

a=(a+c(n,i)*c(m,j)%p*c(n+x-1,x)%p*c(m+y-1,y)%p)%p;

}return printf("%lld\n",a),0;

}

體會棋盤遊戲

using namespace std void setdata int a 8 8 設定隨機數 void out int a 8 8 輸出陣列 void outdiagonal int a 8 8 輸出對角線元素的值 void mine int a 8 8 int x,int y 按 掃雷 遊戲的...

1457 棋盤遊戲

time limit 5 sec memory limit 64 mb submit 327 solved 185 submit status discuss 有乙個100 100的棋盤,其中左下角的編號為 0,0 右上角編號為 99,99 棋盤上有n個queen,最開始第i個queen的位置為 x...

棋盤遊戲設計

需求 有乙個1111的棋盤 但是不知道有多少個棋子 要轉化為 1 棋子數量 3 的二維陣列 第一行記錄棋盤的1111 現有棋子數量 其它行 有多少棋子就有多少行 棋子行 第一列 資料的行 第二列 資料的列 第三列 資料的值 遍歷資料 private static void ergodicarray ...