Advertisement
Alhiris

Untitled

Feb 23rd, 2019
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.28 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define fi first
  4. #define se second
  5. #define pb push_back
  6. #define FOR(i,a,b) for(int i=(a);i<=(b);++i)
  7. #define FORS(i,a,b) for(int i=(a);i<(b);++i)
  8. #define PII pair<int,int>
  9. #define vpp vector<PII>
  10. #define all(x) x.begin(),b.end()
  11. #define SZ(x) ((int)(x).size())
  12. #define ll long long
  13. #define maxn 1005
  14.  
  15. int n,m,sol[2][maxn],viz[maxn],aux,numb[3000],cnt=1;
  16. char mat[maxn][maxn];
  17. int eval(char s){
  18.     if(s=='>') return 1;
  19.     return (s=='<')?-1:0;
  20. }
  21.  
  22. int main()
  23. {
  24.     //freopen("pluton.in","r",stdin);
  25.     //freopen("pluton.out","w",stdout);
  26.     cin>>n>>m;
  27.     FOR(i,1,n)
  28.         FOR(j,1,m)
  29.             cin>>mat[i][j];
  30.     FOR(i,1,n){
  31.         FOR(j,1,m)
  32.             sol[0][i]+=eval(mat[i][j]);
  33.         sol[0][i]+=1000;
  34.         numb[sol[0][i]]=1;
  35.         FOR(j,1,m)
  36.             if(eval(mat[i][j])==0)
  37.                 sol[1][j]=sol[0][i],viz[j]=1;
  38.         }
  39.     FOR(i,1,m){
  40.         aux=0;
  41.         FOR(j,1,n)
  42.             aux+=eval(mat[j][i]);
  43.         if(viz[i]&&(aux+1000)!=sol[1][i]){
  44.             cout<<"No";
  45.             return 0;
  46.         }
  47.         sol[1][i]=aux+1000;
  48.         numb[aux+1000]=1;
  49.     }
  50.     FOR(i,0,3000){
  51.         if(numb[i]==1){
  52.             FOR(j,1,n)
  53.                 if(sol[0][j]==i)
  54.                     sol[0][j]=cnt;
  55.             FOR(j,1,m)
  56.                 if(sol[1][j]==i)
  57.                     sol[1][j]=cnt;
  58.             cnt++;
  59.         }
  60.     }
  61.     cout<<"Yes\n";
  62.     FOR(j,1,n)
  63.         cout<<sol[0][j]<<' ';
  64.     cout<<'\n';
  65.     FOR(j,1,m)
  66.         cout<<sol[1][j]<<' ';
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement