- 阳子墨 的博客
8月集训 DAY8
- @ 2024-8-8 18:53:20
8月集训 DAY8
多项式输出
错误原因
忘记次幂为一时, 系数如果为1 只输出x
思路
分类讨论 写几个判断
代码
#include<bits/stdc++.h>
using namespace std;
int a[110];
int main()
{
freopen("poly.in","r",stdin);
freopen("poly.out","w",stdout);
string s;
int n,x;
cin>>n;
x=n;
for(int i=n;i>=0;i--) cin>>a[i];
for(int i=n;i>=0;i--)
{
if(a[i]==0)
{
x--;
continue;
}
if(i==x)
{
if(a[i]<0) cout<<'-';
if(i!=1&&i!=0)
{
if(a[i]!=1&&a[i]!=-1) cout<<abs(a[i])<<"x^"<<i;
else cout<<"x^"<<i;
}
else
{
if(i==1)
{
if(a[i]!=1&&a[i]!=-1) cout<<abs(a[i])<<"x";
else cout<<"x";
}
else
{
cout<<abs(a[i]);
}
}
x=1000;
}
else if(i!=1)
{
if(a[i]<0) cout<<'-';
else cout<<'+';
if((a[i]!=1&&a[i]!=-1)||i==0)
{
if(i!=0) cout<<abs(a[i])<<"x^"<<i;
else cout<<abs(a[i]);
}
else
{
cout<<"x^"<<i;
}
}
else
{
if(a[i]<0) cout<<'-';
else cout<<'+';
if(a[i]!=1)cout<<abs(a[i])<<'x';
else cout<<'x';
}
}
}
潜伏者
错误原因
无
思路
代码
#include<bits/stdc++.h>
using namespace std;
int a[100];
int main()
{
freopen("spy.in","r",stdin);
freopen("spy.out","w",stdout);
map<char,int> mp;
map<char,char> mp2;
string s1,s2,s3;
cin>>s1>>s2>>s3;
for(int i=0;i<s2.size();i++)
{
int x=int(s2[i]);
a[x]=1;
}
for(int i=65;i<=90;i++)
{
if(!a[i])
{
cout<<"Failed";
return 0;
}
}
for(int i=0;i<s1.size();i++)
{
if(mp[s1[i]]==0)
{
mp2[s1[i]]=s2[i];
mp[s1[i]]=1;
}
else
{
if(mp2[s1[i]]!=s2[i])
{
cout<<"Failed";
return 0;
}
}
}
for(int i=0;i<s3.size();i++)
{
s3[i]=mp2[s3[i]];
}
for(int i=0;i<s3.size();i++) cout<<s3[i];
}