整除15问题
来源:互联网 发布:渲染软件有哪些 编辑:程序博客网 时间:2024/06/11 09:58
整除15问题
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Problem Description
给定一个只包含数字[0..9]的数字字符串,求使用字符串中的某些字符,构建一个能够整除15 最大的整数。注意,字符串中的每个字符只能使用一次。
编程任务:
求由给定字符串构建的能够整除15的最大整数。
编程任务:
求由给定字符串构建的能够整除15的最大整数。
Input
第一行为测试用例个数M,接下来每行为一个只包含数字[0..9]数字字符串,字符串的长度为1..1000。
Output
共M行,每行为将构建出的最大整数,如果无法构建出能够整除15的整数,则输出“impossible”。
Sample Input
40204112345890567234561234
Sample Output
420098653107665435impossible
#include<stdio.h>#include<string.h>void Set(int* a,char* s){int i,len;len=strlen(s);for(i=0;i<len;i++)a[s[i]-'0']++;}void Print(int* a){int i;for(i=9;i>0;i--)for(;a[i]>0;a[i]--)printf("%d",i);if(a[0]==0)printf("5");elsefor(;a[0]>0;a[0]--){printf("0");}printf("\n");}int main(){int a[10],m,i,p,sum,len,t,x;char s[10000];scanf("%d",&m);getchar(); for(p=0;p<m;p++){sum=0;memset(a,0,sizeof(a));gets(s);Set(a,s);len=strlen(s);if(a[0]==0&&a[5]==0) {printf("impossible\n");continue;}else{if(a[0]==0) {sum+=5;a[5]--;}for(i=0;i<10;i++)sum+=a[i]*i;if(sum%3==0);else{x=sum%3;t=1;for(i=0;i<3;i++)if(t==1&&a[x+i*3]){a[x+i*3]--;t--;}if(t==1){t++;for(i=0;i<3;i++){if(t==0) break;if(x==1&&a[i*3+2]){a[i*3+2]--;t--;i=-1;continue;}if(x==2&&a[i*3+1]){a[i*3+1]--;t--;i=-1;}}}for(i=0;i<10;i++)sum+=a[i]*i;}if(sum<3) printf("impossible\n"); elsePrint(a);}}return 0;}
0 0
- 整除15 问题
- 整除15问题
- 整除问题
- 整除问题
- 整除问题
- 整除问题
- 整除问题
- hdu 2099 整除的尾数(整除问题)
- 长整除问题
- 题目55:整除问题
- 题目1104:整除问题
- 题目1104:整除问题
- OJ_1104 整除问题
- 题目1104:整除问题
- java 长整除问题
- 交大1104,整除问题
- 题目1104:整除问题
- 计蒜客之整除问题
- Leetcode #80 Remove Duplicates from Sorted Array II
- hdoj背包水题
- js 开发框架集合
- CNN
- linux 基本命令之fg、bg、jobs、&、ctrl + z
- 整除15问题
- [二分+模拟]poj 3273 Monthly Expense
- ggplot2--实操(图例的修改:以频数散点图为例)
- Linux 下vi 命令大全
- IOS-2-C语言和Objective-C语言衔接学习资料
- 各大OJ题目分类
- 我的Android进阶之旅------>ListView中android:cacheColorHint,android:listSelector属性作用 .
- C++ 输入输出总结
- LeetCode 14 Longest Common Prefix 0ms实现的算法