QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#411363#8364. permutationCrysfly0 15ms3736kbC++172.7kb2024-05-15 12:11:192024-05-15 12:11:19

Judging History

你现在查看的是最新测评结果

  • [2024-05-15 12:11:19]
  • 评测
  • 测评结果:0
  • 用时:15ms
  • 内存:3736kb
  • [2024-05-15 12:11:19]
  • 提交

answer

// what is matter? never mind. 
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize("unroll-loops")
//#pragma GCC target("sse,sse2,sse3,sse4,popcnt,abm,mmx,avx,avx2") 
#include<bits/stdc++.h>
#define For(i,a,b) for(int i=(a);i<=(b);++i)
#define Rep(i,a,b) for(int i=(a);i>=(b);--i)
#define ll long long
//#define int long long
#define ull unsigned long long
#define SZ(x) ((int)((x).size()))
#define ALL(x) (x).begin(),(x).end()
using namespace std;
inline int read()
{
    char c=getchar();int x=0;bool f=0;
    for(;!isdigit(c);c=getchar())f^=!(c^45);
    for(;isdigit(c);c=getchar())x=(x<<1)+(x<<3)+(c^48);
    if(f)x=-x;return x;
}

#define mod 998244353
struct modint{
	int x;
	modint(int o=0){x=o;}
	modint &operator = (int o){return x=o,*this;}
	modint &operator +=(modint o){return x=x+o.x>=mod?x+o.x-mod:x+o.x,*this;}
	modint &operator -=(modint o){return x=x-o.x<0?x-o.x+mod:x-o.x,*this;}
	modint &operator *=(modint o){return x=1ll*x*o.x%mod,*this;}
	modint &operator ^=(int b){
		modint a=*this,c=1;
		for(;b;b>>=1,a*=a)if(b&1)c*=a;
		return x=c.x,*this;
	}
	modint &operator /=(modint o){return *this *=o^=mod-2;}
	friend modint operator +(modint a,modint b){return a+=b;}
	friend modint operator -(modint a,modint b){return a-=b;}
	friend modint operator *(modint a,modint b){return a*=b;}
	friend modint operator /(modint a,modint b){return a/=b;}
	friend modint operator ^(modint a,int b){return a^=b;}
	friend bool operator ==(modint a,modint b){return a.x==b.x;}
	friend bool operator !=(modint a,modint b){return a.x!=b.x;}
	bool operator ! () {return !x;}
	modint operator - () {return x?mod-x:0;}
	bool operator <(const modint&b)const{return x<b.x;}
};
inline modint qpow(modint x,int y){return x^y;}

vector<modint> fac,ifac,iv;
inline void initC(int n)
{
	if(iv.empty())fac=ifac=iv=vector<modint>(2,1);
	int m=iv.size(); ++n;
	if(m>=n)return;
	iv.resize(n),fac.resize(n),ifac.resize(n);
	For(i,m,n-1){
		iv[i]=iv[mod%i]*(mod-mod/i);
		fac[i]=fac[i-1]*i,ifac[i]=ifac[i-1]*iv[i];
	}
}
inline modint C(int n,int m){
	if(m<0||n<m)return 0;
	return initC(n),fac[n]*ifac[m]*ifac[n-m];
}
inline modint sign(int n){return (n&1)?(mod-1):(1);}

#define fi first
#define se second
#define pb push_back
#define mkp make_pair
typedef pair<int,int>pii;
typedef vector<int>vi;

#define maxn 300005
#define inf 0x3f3f3f3f

int n,m,res[maxn];
int pos[11],sta[maxn][11];

signed main()
{
	n=read(),m=read();
	For(i,1,m){
		For(j,1,n)pos[read()]=j;
		For(j,1,n-1){
			For(k,j+1,n)
				sta[i][j]+=(pos[j]<pos[k]);
		}
	}
	For(i,1,m)
		For(j,1,m) if(i!=j){
			bool ok=1;
			For(k,1,n-1)
				if(sta[i][k]<sta[j][k]) ok=0;
			res[i]+=ok;
		}
	For(i,1,m)cout<<res[i]+1<<"\n";
	return 0;
}

/*

*/

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Wrong Answer
time: 15ms
memory: 3736kb

input:

7 2000
5 1 7 4 6 3 2
1 4 6 3 5 2 7
1 3 4 6 2 7 5
6 3 7 1 4 5 2
7 3 6 2 4 1 5
6 7 3 4 1 2 5
6 1 2 5 7 4 3
5 1 4 3 7 6 2
5 3 4 1 2 7 6
7 1 3 4 6 5 2
7 4 6 2 5 1 3
2 6 3 4 1 7 5
5 6 3 1 2 4 7
4 1 6 7 5 3 2
2 6 1 3 7 4 5
1 6 2 3 4 5 7
4 3 1 5 2 7 6
7 3 2 5 4 6 1
2 6 7 1 5 3 4
7 6 2 4 1 5 3
5 1 7 3 6 2 4...

output:

14
278
317
21
14
22
55
66
164
29
8
147
162
12
156
644
290
24
34
8
44
145
3
125
18
25
109
140
106
107
117
6
37
279
22
29
25
119
121
31
20
117
83
29
6
579
8
17
150
16
104
727
1
5
168
15
471
550
394
28
12
153
735
206
13
12
323
18
30
158
37
60
25
125
273
92
103
44
14
12
74
15
86
837
27
22
13
27
7
245
13...

result:

wrong answer 1st numbers differ - expected: '57', found: '14'

Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 0
Skipped

Dependency #1:

0%

Subtask #4:

score: 0
Skipped

Dependency #2:

0%