WA 58pts
查看原帖
WA 58pts
747883
xhz0311楼主2023/9/28 18:03
#include <bits/stdc++.h>
using namespace std;
long long n,p,a[605][605];
int main()
{
    scanf("%lld %lld",&n,&p);
    for (int i=1; i<=n; i++)
    {
        for  (int j=1; j<=n; j++)
        {
            scanf("%lld",&a[i][j]);
            a[i][j]%=p;
        }
    }
    if (n>2)
    {
    	long long x=0,y=0,r=1;
		for (int i=1; i<=n; i++)
		{
			for (int j=0; j<n; j++)
			{
				r*=a[(i+j)%n+1][j+1],r%=p;
			}
			x+=r,x%=p,r=1;
		}
		for (int i=1; i<=n; i++)
		{
			for (int j=0; j<n; j++)
			{
				r*=a[((i-j)%n+n)%n+1][j+1],r%=p;
			}
			x-=r,x%=p,r=1;
		}
		cout<<(x%p+p)%p;
    }
    else if (n==2)
    {
    	cout<<((a[1][1]*a[2][2]-a[1][2]*a[2][1])%p+p)%p;
    }
    else
    {
    	cout<<a[1][1];
    }
    return 0;
}

在很多个数据点都输出了 0。

2023/9/28 18:03
加载中...