65,182
社区成员




int main()
{
int a=123;
({while (a) a--;});
return 0;
}
#include <cstdio>
#define Normal(x) ({if ((x%=mo)<0) x+=mo;})
#define Mul(x,y) ((long long)(x)*(y)%mo)
#define Swap(x,y) ({register int tmp=x; x=y; y=tmp;})
using namespace std;
const int MAXN=205;
int n, mo, a[MAXN][MAXN];
bool Init()
{
int i, j;
if (scanf("%d%d",&n,&mo)!=2) return false;
for (i=0; i<n; i++) for (j=0; j<n; j++) {
scanf("%d", &a[i][j]);
Normal(a[i][j]);
}
return true;
}
void Solve()
{
int i, j, k, d, ans=1;
for (i=0; i<n; i++) {
for (k=i+1; k<n; k++) {
while (a[k][i]) {
d = a[i][i]/a[k][i];
for (j=i; j<n; j++) {
a[i][j] -= Mul(a[k][j],d);
Normal(a[i][j]);
Swap(a[i][j], a[k][j]);
}
ans *= -1;
}
}
if (!a[i][i]) {ans=0; break;}
ans = Mul(ans,a[i][i]);
}
Normal(ans);
printf("%d\n", ans);
}
int main()
{
///freopen("data.in", "r", stdin);
while (Init())
Solve();
return 0;
}
40行:operation on 'ans' may be undefined