Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define ll long long
- #define ld long double
- #define II pair<int,int>
- #define III pair<int, II>
- #define F first
- #define S second
- #define _mp make_pair
- #define VI vector<int>
- #define VII vector<II>
- #define VVI vector<vector<int>>
- #define _f front
- #define _b back
- #define push_ push_back
- #define _push push_front
- #define pop_ pop_back
- #define _pop pop_front
- #define _all(v) v.begin(), v.end()
- #define _memset(A, val) memset(A, val, sizeof A)
- #define __L p<<1, L, L+R>>1
- #define __R p<<1|1, (L+R>>1)+1, R
- #define LINE putc('\n', stdout)
- #define SPACE putc(' ' , stdout)
- #define TAB putc('\t', stdout)
- #define _out(_) printf("%i",_)
- #define __out(_,__) printf("%i %i",_,__)
- #define ___out(_,__,___) printf("%i %i %i",_,__,___)
- #define _outLL(_) printf("%I64d",_)
- #define __outLL(_,__) printf("%I64d %I64d",_,__)
- #define ___outLL(_,__,___) printf("%I64d %I64d %I64d",_,__,___)
- #define _outS(_) printf("%s",_)
- #define _outC(_) printf("%c",_)
- #define _in(_) scanf("%i", &_)
- #define __in(_,__) scanf("%i%i",&_,&__)
- #define ___in(_,__,___) scanf("%i%i%i",&_,&__,&___)
- #define _inLL(_) scanf("%I64d", &_)
- #define __inLL(_,__) scanf("%I64d%I64d",&_,&__)
- #define ___inLL(_,__,___) scanf("%I64d%I64d%I64d",&_,&__,&___)
- #define _inS(_) scanf("%s",_)
- #define __inS(_, __) scanf("%s%s",_,__)
- #define _inC(_) scanf("%c",&_)
- #define _YES printf("YES")
- #define _NO printf("NO")
- #define _Yes printf("Yes");
- #define _No printf("No");
- #define _yes printf("yes")
- #define _no printf("no")
- #define _for(i, n) for(int i=0 ; i<n ; i++)
- #define __for(i, j, n) for(int i=j ; i<n ; i++)
- #define FOR(i, condition) for(int i=0 ; condition ; i++)
- #define _rof(i, n) for(int i=n ; i-- ; )
- #define __rof(i, j, n) for(int i=n-1 ; i>=j ; i-- )
- #define rm_imp(d, p) (round(d*p)/p)
- #define __lcm(a, b) ((a*b)/__gcd(a,b))
- #define _log2(x) (31-__builtin_clz(x))
- #define INF 2e5
- #define Mod 1000000007
- #define MAXN 100100
- int n;
- int AdjMat[111][111];
- int visited[1111];
- int ans[1111][1111];
- void inline print_line(){
- printf("+"); _for(k, 2*n-1) _outC('-'); printf("+\n");
- }
- int dfs(int u, int exclude)
- {
- if(u==exclude) return 0;
- visited[u]=1;
- _for(i, n)
- if(AdjMat[u][i] && !visited[i]) dfs(i, exclude);
- }
- int main()
- {
- int T;
- _in(T);
- for(int t=1; t<=T ; t++)
- {
- _in(n);
- memset(ans, 0, sizeof ans);
- int tmp;
- _for(i, n)
- _for(j, n)
- _in(AdjMat[i][j]);
- _for(ex, n)
- {
- memset(visited, 0, sizeof visited);
- dfs(0, ex);
- _for(i, n)
- if(!visited[i]) ans[ex][i]=1;
- }
- memset(visited, 0, sizeof visited);
- dfs(0, -1);
- _for(i, n)
- if(!visited[i])
- _for(j, n) ans[j][i]=0;
- printf("Case %i:\n", t);
- print_line();
- _for(i, n){
- _for(j, n)
- _outC('|'), _outC(ans[i][j]?'Y':'N'); _outC('|');
- LINE; print_line();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement