zoukankan      html  css  js  c++  java
  • 牛客小白月赛22

    累乘数字

    题目描述

    我们知道将一个大于1的数乘以另一个大于1的数会使乘积大于任意一个乘数。
    现在给出两个数字 n, d,你能否计算将n乘以d次100的结果。

    输入描述:

    多组输入
    每组输入在一行中给出 n,d,1≤n,d≤100

    输出描述:

    每组输入输出一行代表答案。

    示例1

    输入

    5 1
    11 1
    85 2

    输出

    500
    1100
    850000

    描述:签到题,用循环输出一下就可以,千万别把结果算出来存在变量里再输出,因为结果数值太大了

    /*
     * @Issue: 链接:https://ac.nowcoder.com/acm/contest/4462/F 
     * @Author: 一届书生
     * @LastEditTime: 2020-02-22 21:09:21
     */
    #include<iostream>
    #include<math.h>
    using namespace std;
    #define ll long long
    int main(){
        ll n,d;
        while(cin>>n>>d){
            cout<<n;
            for(int i=0;i<2*d;i++)
            cout<<0;        //输出字符型的‘0‘好像会出错
            cout<<endl;
        }
        return 0;
    }    
    

    方块涂色

    题目描述

    一块矩形区域被划分为了n行m列的小方格,初始情况下这些方格都是未被上色的。
    为了使得矩形看起来不是单一的色彩,现在挑选出r行c列格子并将挑选出的格子上色。
    请计算上色完成后,未上色格子的数目。

    输入描述:

    多组输入
    每组输入在一行中给出四个数字 n, m, r, c,含义如题所示。
    数据保证有 1≤n,m≤10^6,1≤r≤n,1≤c≤m

    输出描述:

    每组输入输出一行代表答案。

    示例1

    输入

    5 5 2 3

    输出

    6

    说明

    示例2

    输入

    3 2 2 1
    2 4 2 4

    输出

    1
    0

    描述:这完全是个思维题目,想明白了,读懂题目就不难了,一行代码搞定,实例1中两行三列,完全可以这样涂,这样好理解,然后公式就出来了,看代码。

    /*
     * @Issue: 链接:https://ac.nowcoder.com/acm/contest/4462/E
     * @Author: 一届书生
     * @LastEditTime: 2020-02-22 21:16:00
     */
    #include<iostream>
    #include<math.h>
    using namespace std;
    #define ll long long
    int main(){
        ll n,m,r,c;
        while(cin>>n>>m>>r>>c){
            cout<<n*m-r*m-c*n+r*c<<endl;    //only一行代码
        }
        return 0;
    }
    

    计算A+B

    题目描述

    在一行中给出一个字符串,请判断是否满足A + B格式,如果满足,输出计算结果,否则输出"skipped"。
    此处A,B均为大于等于0的整数,不保证数据没有前导零。

    输入描述:

    第一行输入一个n,1≤n≤1000,n代表测试数据的组数。
    接下来n行,每行输入一个长度不超过10000的字符串。

    输出描述:

    对于每组输入,输出结果

    示例1

    输入

    4
    2+2
    1+2
    +12
    0+0

    输出

    4
    3
    skipped
    0

    描述:这个就有点难度了,主要是结果数值过大,不能用long long来存储,需要用数组来模拟

    /*
     * @Issue: https://ac.nowcoder.com/acm/contest/4462/J
     * @Author: 一届书生
     * @LastEditTime: 2020-02-23 11:51:21
     */
    #include<iostream>
    #include<string>
    using namespace std;
    
    int result[1000];   //存答案
    
    void solve(){
        string s;
        cin>>s;
        int len=s.length();
        // 判断字符串中是否没有加号或者多个加号
            int num=0,loc=0; //num代表字符串中'+'个数,loc代表'+'位置
            for(int i=0;i<s.length()-1;i++){
                if(s[i]=='+')num++,loc=i;
            }
            if(num!=1){
                puts("skipped");
            }
        // 判断字符串中加号是否在开头或者结尾
    
            else if(s[0]=='+'||s[s.length()-1]=='+')
                puts("skipped");
        // 格式正确
            else{
                int former=loc-1,later=len-1,a,b,cnt=0,last=0; 
                    //former记录前者遍历,later记录后者
    
                // 去除前导零
                int fo=0,lat=loc+1;
                while(s[fo]=='0')fo++;
                while(s[lat]=='0')lat++;
                if(fo>former&&lat>later){
                    puts("0");
                    return;
                }
    
            
                while(former>=fo||later>=lat){
                    a=b=0;
                    if(former>=fo) a=s[former]-'0';
                    if(later>=lat) b=s[later]-'0';
                    result[cnt++]=(a+b+last)%10;        //倒序记录答案
                    last=(a+b+last>9); //进位
                    former--;later--;
                }
            
                if(last)cout<<last;     //不要忘了最后一个进位
                for(int i=cnt-1;i>=0;i--)
                    cout<<result[i];
                cout<<endl;
            }
    
    }
    int main(){
        int n;
        cin>>n;
        while(n--)
           solve(); 
        return 0;
    }
    

      



  • 相关阅读:
    (BFS 二叉树) leetcode 515. Find Largest Value in Each Tree Row
    (二叉树 BFS) leetcode513. Find Bottom Left Tree Value
    (二叉树 BFS DFS) leetcode 104. Maximum Depth of Binary Tree
    (二叉树 BFS DFS) leetcode 111. Minimum Depth of Binary Tree
    (BFS) leetcode 690. Employee Importance
    (BFS/DFS) leetcode 200. Number of Islands
    (最长回文子串 线性DP) 51nod 1088 最长回文子串
    (链表 importance) leetcode 2. Add Two Numbers
    (链表 set) leetcode 817. Linked List Components
    (链表 双指针) leetcode 142. Linked List Cycle II
  • 原文地址:https://www.cnblogs.com/52dxer/p/12349118.html
Copyright © 2011-2022 走看看