2016"百度星"资格赛1002 大数相加

不多说 如题 为了保存代码

 1 #include<iostream>
 2 #include<climits>
 3 #include <cstdlib>
 4 #include <string.h>
 5
 6 using namespace std;
 7
 8 static char chart[201][45];
 9 static int p = 2;
10
11 void setChart(int N);
12
13 int main()
14 {
15     int N;
16     bool key;
17
18     memset(chart,0,sizeof chart);
19
20     chart[1][44] = 1;
21     chart[2][44] = 2;
22
23     while(cin >> N)
24     {
25         key = false;
26         if(N > p)
27         {
28             setChart(N);
29         }
30         for(int i = 0; i < 45; i++)
31         {
32             if(chart[N][i] != 0)
33             {
34                 key = true;
35             }
36             if(key)
37             {
38                 char tem = chart[N][i] + 48;
39                 cout << tem ;
40             }
41         }
42         cout << endl;
43     }
44 }
45
46 void setChart(int N)
47 {
48     while(N > p && p < 200)
49     {
50         int mem = 0;
51         for(int i = 44; i >= 0;i --)
52         {
53             chart[p + 1][i] = (chart[p][i] + chart[p - 1][i] + mem) % 10;
54             mem =  (chart[p][i] + chart[p - 1][i] + mem) / 10;
55         }
56         p++;
57     }
58 }
时间: 2024-10-24 14:16:35

2016"百度星"资格赛1002 大数相加的相关文章

字符串处理 2015百度之星资格赛 1002 列变位法解密

题目传送门 1 /* 2 字符串处理:要求解码,然而二维数组开不下,可以直接输出 3 只要在余数的地方判断一下就行了,vector的效率不高 4 另外:感觉麻烦的地方应该纸上写写就清楚了 5 */ 6 #include <cstdio> 7 #include <iostream> 8 #include <algorithm> 9 #include <cstring> 10 #include <string> 11 #include <cma

字符串处理 百度之星资格赛 1002 列变位法解密

题目传送门 1 /* 2 字符串处理:要求解码,然而二维数组开不下,可以直接输出 3 只要在余数的地方判断一下就行了,vector的效率不高 4 */ 5 #include <cstdio> 6 #include <iostream> 7 #include <algorithm> 8 #include <cstring> 9 #include <string> 10 #include <cmath> 11 using namespac

ACM学习历程—BestCoder 2015百度之星资格赛1002 列变位法解密(vector容器)

Problem Description 列变位法是古典密码算法中变位加密的一种方法,具体过程如下 将明文字符分割成个数固定的分组(如5个一组,5即为密钥),按一组一行的次序整齐排列,最后不足一组不放置任何字符,完成后按列读取即成密文. 比如: 原文:123456789 密钥:4 变换后的矩阵: 1234 5678 9xxx (最后的几个x表示无任何字符,不是空格,不是制表符,就没有任何字符,下同) 密文:159263748 再比如: 原文:Hello, welcome to my dream w

2015百度之星资格赛1002列变位法解密

Accepts: 1124 Submissions: 4157 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Description 列变位法是古典密码算法中变位加密的一种方法,具体过程如下 将明文字符分割成个数固定的分组(如5个一组,5即为密钥),按一组一行的次序整齐排列,最后不足一组不放置任何字符,完成后按列读取即成密文. 比如: 原文:123456789 密钥

2018百度之星资格赛1002

没错就是用来造(蹭)福(访)大(问)众(量)的 发现最小的子串只会是A~Z 直接统计前缀和...sum[26]统计一下... 1 #include<cstdio> 2 #include<cstring> 3 int sum[100005][26]; 4 int main() { 5 int t; 6 scanf("%d",&t); 7 for(int T=1;T<=t;T++) { 8 printf("Case #%d:\n",

杭电OJ 1002 大数相加

Problem Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B. Input The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines fol

1002 大数相加

Input The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line consists of two positive integers, A and B. Notice that the integers are very large, that means you should not pro

2014年百度之星程序设计大赛 - 资格赛 1002 Disk Schedule(双调欧几里得旅行商问题)

Problem Description 有很多从磁盘读取数据的需求,包括顺序读取.随机读取.为了提高效率,需要人为安排磁盘读取.然而,在现实中,这种做法很复杂.我们考虑一个相对简单的场景.磁盘有许多轨道,每个轨道有许多扇区,用于存储数据.当我们想在特定扇区来读取数据时,磁头需要跳转到特定的轨道.具体扇区进行读取操作.为了简单,我们假设磁头可以在某个轨道顺时针或逆时针匀速旋转,旋转一周的时间是360个单位时间.磁头也可以随意移动到某个轨道进行读取,每跳转到一个相邻轨道的时间为400个单位时间,跳转

2016&quot;百度之星&quot; - 资格赛(Astar Round1) Problem D 简单题

Problem D Accepts: 1527 Submissions: 4307 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Description 度熊所居住的 D 国,是一个完全尊重人权的国度.以至于这个国家的所有人命名自己的名字都非常奇怪.一个人的名字由若干个字符组成,同样的,这些字符的全排列的结果中的每一个字符串,也都是这个人的名字.例如,如果一个人名字