阿里笔试火柴第一题,不知道对不对

#include <iostream>
#include <string>
using namespace std;
int main()
{
int m,n;
cin>>m>>n;
string result;
int N=n;
for(int i=0; i<N-1; i++)
{

if(m-2*(n-1)>=6)
{
result[i]='9';
m=m-6;
n=n-1;

}
else
{
if(m-2*(n-1)>=3)
{
result[i]='7';
m=m-3;
n=n-1;
}
else
{
if(m-2*(n-1)>=2)
{
result[i]='1';
m=m-2;
n=n-1;
}
}
}

}
if(m==2)
result[N-1]='1';
else if(m==3)
result[N-1]='7';
else if(m==4)
result[N-1]='4';
else if(m==5)
result[N-1]='5';
else if(m==6)
result[N-1]='9';
else if(m==7)
result[N-1]='8';
for(int i=0; i<N; i++)
cout<<result[i];

cout<<endl;
return 0;
}

全部评论
火柴人那题目 先紧着1 放   然后紧着 9和7  放 记录 9和7 的位置,然后 45 紧着放  替换7 ,然后8紧着放 替换9 
点赞 回复 分享
发布于 2018-09-07 21:23
痛定思痛, 笔试结束后想清楚了怎么算, 写了个文章纪念.. https://blog.csdn.net/weixin_42907725/article/details/82559396
点赞 回复 分享
发布于 2018-09-09 17:07

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务