阿里笔试附加题 最后提交80% 求大佬看看改后代码对吗


#include<stdio.h>
int main(){
int a[5][2]={{4,2},{5,3},{7,1},{8,5},{9,4}};
int b[5][2]={{1,7},{2,4},{3,5},{4,9},{5,8}};
 long long i,m,n,k;
 scanf("%lld",&m);
 scanf("%lld",&n);
 char c[n];
 if(m <= n*2){
printf("NONE");
}else{
m-=(2*n);
for(i = 0;i < n;i++){
c[i] = 1;
}
k = 0;
for(i = 4;i >= 0;i--){
while(m >= a[i][1]){
c[k] = a[i][0];
k++;
m -= a[i][1];
if(k == n){
break;
}
}
if(k == n){
break;
}
}
k--;
while(m){
int f=5;
for(i = 0;i < 5;i++){
if(c[k]==b[i][1]){
m+=b[i][0];
c[k] = 1;
f = i;
}else if(i > f && m==b[i][0]){
m -= b[i][0];
c[k] = b[i][1];
}
}
k--;
}
if(m){
printf("NONE");
}else{
for(i = 0;i < n;i++){
printf("%d",c[i]);
}
}
}
printf("\n");
}
#笔试题目##阿里巴巴#
全部评论
点赞 回复 分享
发布于 2018-09-07 21:05
题目是什么
点赞 回复 分享
发布于 2018-09-07 21:03

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务