AC代码
#include<bits/stdc++.h>
using namespace std;
int n;
void Change(string s,string &a,int &b)
{
while(s.length()>0&&s[0]=='0')
{
s.erase(s.begin());
}
if(s[0]=='.')
{
s.erase(s.begin());
while(s.length()>0&&s[0]=='0')
{
s.erase(s.begin());
b--;
}
}
else{
int k=0;
while(k<s.length()&&s[k]!='.')
{
k++;
b++;
}
if(k!=s.length())
{
s.erase(s.begin()+k);
}
}
if(s.length()==0) b=0;
int cn=0,temp=0;
while(cn<n){
if(temp<s.length()) a+=s[temp++];
else a+='0';
cn++;
}
}
int main()
{
int b1=0,b2=0;
scanf("%d",&n);
string s1,s2,a1,a2;
cin>>s1>>s2;
Change(s1,a1,b1);
Change(s2,a2,b2);
if(a1==a2&&b1==b2)
{
cout<<"YES 0."<<a1<<"*10^"<<b1;
}
else{
cout<<"NO 0."<<a1<<"*10^"<<b1<<" 0."<<a2<<"*10^"<<b2;
}
return 0;
}