记录编号 321670 评测结果 AAAAAA
题目名称 增强的减法问题 最终得分 100
用户昵称 GravatarGo灬Fire 是否通过 通过
代码语言 C++ 运行时间 0.002 s
提交时间 2016-10-13 21:01:07 内存使用 0.32 MiB
显示代码纯文本
  1. /*
  2. Name: 增强的减法问题
  3. Copyright:
  4. FROM:http://cogs.pro/cogs/problem/problem.php?pid=38
  5. Author: Go灬Fire
  6. Date: 13/10/16 20:36
  7. Description: 基本的问题,再写一遍,复习
  8. */
  9. #include<cmath>
  10. #include<algorithm>
  11. #include<cstring>
  12. #include<cstdio>
  13. #include<cstdlib>
  14. #include<iostream>
  15. #define Begin freopen("sub.in","r",stdin);freopen("sub.out","w",stdout);
  16. #define End fclose(stdin);fclose(stdout);
  17. using namespace std;
  18. const int maxn=1010;
  19. char s1[maxn],s2[maxn];
  20. int c[maxn];
  21. void Init();
  22. int Judge(){
  23. if(strlen(s1+1)>strlen(s2+1))return 1;
  24. if(strlen(s1+1)<strlen(s2+1))return -1;
  25. for(int i=1;i<=strlen(s1+1);i++){
  26. if(s1[i]>s2[i])return 1;
  27. if(s1[i]<s2[i])return -1;
  28. }
  29. return 0;
  30. }
  31. void Jian(int a[],int b[]){
  32. int len;
  33. len=max(a[0],b[0]);
  34. for(int i=1;i<=len;i++){
  35. c[i]=a[i]-b[i];
  36. if(c[i]<0){
  37. c[i]+=10;
  38. a[i+1]--;
  39. }
  40. }
  41. while(c[len]==0)len--;
  42. for(int i=len;i>=1;i--)printf("%d",c[i]);
  43. }
  44. int main(){
  45. Begin;
  46. Init();
  47. //system("pause");
  48. End;
  49. return 0;
  50. }
  51. void Init(){
  52. int a[maxn],b[maxn];
  53. scanf("%s%s",s1+1,s2+1);
  54. a[0]=strlen(s1+1);b[0]=strlen(s2+1);
  55. for(int i=1;i<=a[0];i++)a[a[0]-i+1]=s1[i]-48;
  56. for(int i=1;i<=b[0];i++)b[b[0]-i+1]=s2[i]-48;
  57. int k=Judge();
  58. if(k==0){printf("0\n");return;}
  59. if(k==1)Jian(a,b);
  60. else {printf("-");Jian(b,a);}
  61. }