1 条题解
-
0
C++ :
#include<stdio.h> #include<string.h> int n; int s[10][10]; int main() { // freopen("1.txt","r",stdin); // freopen("2.txt","w",stdout); while(~scanf("%d",&n)) { for(int i=0;i<n;i++) for(int j=0;j<n;j++) scanf("%d",&s[i][j]); long long mul=1; for(int i=0;i<n;i++) { if(s[i][i]==0) { int tag=1; for(int j=i+1;j<n;j++) { if(s[j][i]!=0) { for(int k=0;k<n;k++) { int t=s[i][k]; s[i][k]=s[j][k]; s[j][k]=t; } tag=0; break; } } if(tag) continue; mul*=-1;//½»»»Á½ÐÐ,·ûºÅ±äºÅ } for(int j=i+1;j<n;j++) { if(s[j][i]!=0) { long long Lcm=s[i][i]*s[j][i]; long long a=Lcm/s[i][i]; long long b=Lcm/s[j][i]; mul*=b; for(int k=0;k<n;k++) // | k*aij | == k*| aij | { s[j][k]*=b; } for(int k=i;k<n;k++) { s[j][k]-=s[i][k]*a; } } } /* for(int ii=0;ii<n;ii++) { for(int jj=0;jj<n;jj++) { printf("%d ",s[ii][jj]); }printf("\n"); }*/ } long long ans=1; for(int i=0;i<n;i++) ans*=s[i][i]; printf("%lld\n",ans/mul); } }
Java :
import java.io.BufferedReader; import java.io.InputStreamReader; import java.math.BigInteger; import java.util.*; public class Main{ public static long gcd(long a,long b){ if(b==0) return a; return gcd(b,a%b); } public static long lcm(long a,long b){ return a/gcd(a,b)*b; } public static void main(String args[]){ Scanner cin=new Scanner(System.in); long x[][]=new long[10][10]; int n; while(cin.hasNext()){ n=cin.nextInt(); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) x[i][j]=cin.nextLong(); long tmp,p,q; long ans=1,cnt=1; for(int i=1;i<n;i++){ if(x[i][i]==0){ ans*=-1; boolean ok=false; for(int j=i+1;j<=n;j++){ if(x[j][i]!=0){ ok=true; for(int k=1;k<=n;k++){ tmp=x[i][k]; x[i][k]=x[j][k]; x[j][k]=tmp; } } if(ok) break; } } ans*=x[i][i]; for(int j=i+1;j<=n;j++){ if(x[j][i]==0) { continue; } //tmp=lcm(x[j][i],x[i][i]); tmp=x[j][i]*x[i][i]; p=tmp/x[j][i]; q=tmp/x[i][i]; for(int k=i;k<=n;k++) x[j][k]=x[j][k]*p-q*x[i][k]; cnt*=p; } } /*for(int ii=1;ii<=n;ii++){ for(int jj=1;jj<=n;jj++) System.out.print(x[ii][jj]+" "); System.out.println(); } */ ans*=x[n][n]; System.out.println(ans/cnt); } } }
- 1
信息
- ID
- 1530
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者