zoukankan      html  css  js  c++  java
  • 18.9.29 数算作业-线性表

    字符串插入(10分)

    题目内容:

    有两个字符串str和substr,str和substr的字符个数不超过10^5,只包含大小写字母和数字。(字符个数不包括字符串结尾处的''。)将substr插入到str中ASCII码最大的那个字符后面,若有多个最大则只考虑第一个。

    输入格式:

    输入数据只有一行,格式为

    str substr

    输出格式:

    输出插入之后的字符串。

    输入样例:

    abcab eee

    输出样例:

    abceeeab
    时间限制:500ms内存限制:32000kb
     1 #include <iostream>
     2 #include <string.h>
     3 
     4 using namespace std;
     5 
     6 const int maxn = 100005;
     7 char str[maxn * 2], substr[maxn];
     8 
     9 int main()
    10 {
    11     cin >> str >> substr;
    12     int themaxone = 0, maxvalue = 0;
    13     int l = strlen(str), _l = strlen(substr);
    14     for (int i = 0; str[i] != ''; i++)
    15     {
    16         if (str[i] > maxvalue)
    17         {
    18             maxvalue = str[i];
    19             themaxone = i;
    20         }
    21     }
    22     for (int i = l - 1; i>themaxone; i--)
    23         str[i + _l] = str[i];
    24     for (int i = themaxone + 1; i <= themaxone + _l; i++)
    25         str[i] = substr[i - themaxone-1];
    26     for (int i = 0; i<l + _l; i++)
    27         printf("%c", str[i]);
    28     printf("
    ");
    29     return 0;
    30 }
    View Code

    大整数乘法(10分)

    题目内容:

    求两个不超过200位的非负整数的积。

    输入格式:

    有两行,每行是一个不超过200位的非负整数,没有多余的前导0。

    输出格式:

    一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。

    输入样例:

    12345678900

    98765432100

    输出样例:

    1219326311126352690000

    时间限制:500ms内存限制:32000kb
     1 #include <iostream>
     2 #include <string.h>
     3 #include <algorithm>
     4 
     5 using namespace std;
     6 const int maxn = 205;
     7 
     8 char num1[maxn], num2[maxn];
     9 int ans[maxn * 2], num1int[maxn], num2int[maxn];
    10 
    11 int main()
    12 {
    13     cin >> num1 >> num2;
    14     int l1 = strlen(num1), l2 = strlen(num2);
    15     int anslen = 0;
    16     for (int i = l1 - 1; i >= 0; i--)
    17         num1int[l1 - i ] = num1[i] - '0';
    18     for (int i = l2 - 1; i >= 0; i--)
    19         num2int[l2 - i ] = num2[i] - '0';
    20     for(int i=1;i<=l1;i++)
    21         for (int j = 1; j <= l2; j++) {
    22             ans[i + j - 1] += num1int[i] * num2int[j];
    23             ans[i + j] += ans[i + j - 1] / 10;
    24             ans[i + j - 1] %= 10;
    25             anslen = max(anslen, i + j - 1);
    26             if (ans[i + j] != 0)
    27                 anslen = max(anslen, i + j);
    28         }
    29     for (int i = anslen; i >= 1; i--)
    30         printf("%d", ans[i]);
    31     printf("
    ");
    32     return 0;
    33 }
    View Code

    约瑟夫问题(10分)

    题目内容:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。

    输入格式:输入包含两个整数,第一个是n,第二个是m (0 < m,n <=300)。

    输出格式:输出包含一行,即最后猴王的编号。

    输入样例:18 2

    输出样例:5

    时间限制:500ms内存限制:32000kb
     1 #include <iostream>
     2 #include <string.h>
     3 #include <algorithm>
     4 
     5 using namespace std;
     6 struct seq{
     7     int ele[305];
     8     int n;
     9     seq(int _n) {
    10         n = _n;
    11         for (int i = 0; i < n; i++)
    12             ele[i] = i+1;
    13     }
    14     void delete_ele(int id) {
    15         for (int i = id; i < n - 1; i++)
    16             ele[i] = ele[i + 1];
    17         n--;
    18     }
    19     void print_top() {
    20         printf("%d
    ", ele[0]);
    21     }
    22 };
    23 
    24 int main()
    25 {
    26     int n,m;
    27     scanf("%d%d", &n,&m);
    28     seq mkys(n);
    29     int now = 0;
    30     for (int i = 1; i <= n - 1; i++) {
    31         now = (now + m - 1) % mkys.n;
    32         mkys.delete_ele(now);
    33     }
    34     mkys.print_top();
    35     return 0;
    36 }
    View Code

    计概题重做

    前两题没有用上线性表会不会有问题啊qwq

    我做之前都没意识到这是线性表作业……我看到第一题还以为是字符串……直到看到第三题……

    注定失败的战争,也要拼尽全力去打赢它; 就算输,也要输得足够漂亮。
  • 相关阅读:
    mysql数据库存储的引擎和数据类型
    mysql数据库基本操作
    【转】linux yum命令详解
    [转]Linux rpm 命令参数使用详解
    【转】Linux GCC常用命令
    [转]linux下logrotate 配置和理解
    [转]Linux下chkconfig命令详解
    [转]linux之top命令
    [转]linux之ps命令
    互联网产品如何做到快与轻
  • 原文地址:https://www.cnblogs.com/yalphait/p/9724616.html
Copyright © 2011-2022 走看看