#include <iostream>
using namespace std;
int n;
string convert(string s){
int index,i=0,j=0,cnt=0,len=s.length();
while((s[i]=='0'||s[i]=='.')&&i<len) i++; //第一个非0数为s[i],若是0则i=len
while(s[cnt]!='.'&&cnt<len)cnt++; //小数点为s[cnt],若无小数点则cnt=len
if(i<=cnt) index=cnt-i; //小数点在非零数右边,指数为cnt-i
else index=cnt-i+1; //小数点在非零数左边,指数为cnt-i+1
if(i==len)index=0; //字符串是0则指数为0
string res;
while(j<n){
if(s[i]!='.'&&i<len) res+=s[i]; //从第一个非零数开始取n个数
else if(i>=len) res+='0'; //有效位数不够则补0(不包括小数点)
i++;
j++;
}
return res="0."+res+"*10^"+to_string(index);
}
int main() {
string a,b;
cin>>n>>a>>b;
if(convert(a)==convert(b)) cout<<"YES "<<convert(a);
else cout<<"NO "<<convert(a)<<" "<<convert(b);
return 0;
}
06-11
92
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-24
3432
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-23
956
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)