网易笔试4.16第三题 哪位帮忙看看错哪了,一直0%
#include<bits/stdc++.h>
using namespace std;
int n,m;
vector<int> v(n+1);
vector<vector<int>> g(n+1,vector<int>(n+1,0));
int f(int a,int b){
int c2=0,c5=0;
while(a%2==0){
c2++;
a/=2;
}
while(a%5==0){
c5++;
a/=5;
}
while(b%2==0){
c2++;
b/=2;
}
while(b%5==0){
c5++;
b/=5;
}
return min(c2,c5);
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>v[i];
}
int u,w;
for(int i=1;i<=m;i++){
cin>>u>>w;
g[u][w]=f(v[u],v[w]);
}
int a=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(g[i][j]>a) a=g[i][j];
}
}
cout<<a;
return 0;
}
using namespace std;
int n,m;
vector<int> v(n+1);
vector<vector<int>> g(n+1,vector<int>(n+1,0));
int f(int a,int b){
int c2=0,c5=0;
while(a%2==0){
c2++;
a/=2;
}
while(a%5==0){
c5++;
a/=5;
}
while(b%2==0){
c2++;
b/=2;
}
while(b%5==0){
c5++;
b/=5;
}
return min(c2,c5);
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>v[i];
}
int u,w;
for(int i=1;i<=m;i++){
cin>>u>>w;
g[u][w]=f(v[u],v[w]);
}
int a=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(g[i][j]>a) a=g[i][j];
}
}
cout<<a;
return 0;
}