結果
問題 |
No.1000 Point Add and Array Add
|
ユーザー |
![]() |
提出日時 | 2023-08-26 15:14:07 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 585 bytes |
コンパイル時間 | 602 ms |
コンパイル使用メモリ | 62,976 KB |
実行使用メモリ | 13,696 KB |
最終ジャッジ日時 | 2024-12-25 13:13:02 |
合計ジャッジ時間 | 77,935 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | TLE * 2 |
other | TLE * 22 |
ソースコード
#include<cstdio> #include<iostream> #include<cstring> using namespace std; char ch[10][10]; int vis[10],n,k,ans=0,num=0; void dfs(int i) { int j; if(num==k) { ans++; return; } if(i>n) { return ; } for(j=1;j<=n;++j) { if(!vis[j]&&ch[i][j]=='#') { vis[j]=1; num++; dfs(i+1); vis[j]=0; num--; } } dfs(i+1); } int main() { int i,j; memset(vis,0,sizeof(vis)); while (1); while(cin>>n>>k) { if(n==-1&&k==-1) break; ans=0; num=0; for(i=1;i<=n;++i) { for(j=1;j<=n;++j) { cin>>ch[i][j]; } } dfs(1); cout<<ans<<"\n"; } }