P1495TLE求解
  • 板块学术版
  • 楼主Milky_Cat
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/1/12 13:54
  • 上次更新2023/10/24 04:36:09
查看原帖
P1495TLE求解
906320
Milky_Cat楼主2023/1/12 13:54

我采用《孙子算经》的解法,TLE了:

#include<bits/stdc++.h>
using namespace std;
long long zhi[25],a[25],md[25],ans=0,lcm[25];
int n;
int main(){
	cin>>n;
	for(int i=0;i<n;i++)cin>>a[i]>>md[i];
	for(int i=0;i<n;i++)lcm[i]=1;
	for(int i=0;i<n;i++)for(int j=0;j<n;j++)if(j!=i)lcm[i]*=j;
	for(int i=0;i<n;i++)
		for(int j=0;;j++){
			if(lcm[i]*j%a[i]==1){
				zhi[i]=lcm[i]*j;
				break;
			}
		}
	for(int i=0;i<n;i++)ans+=zhi[i]*md[i]%(a[0]*lcm[0]);
	cout<<ans;
}

本地运行判定为死循环。

2023/1/12 13:54
加载中...