zoukankan      html  css  js  c++  java
  • 【洛谷 1102】A-B数对

    题目描述

    出题是一件痛苦的事情!

    相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈!

    好吧,题目是这样的:给出一串数以及一个数字 CCC,要求计算出所有 A−B=CA - B = CAB=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。

    输入格式

    输入共两行。

    第一行,两个整数 N,CN, CN,C。

    第二行,NNN 个整数,作为要求处理的那串数。

    输出格式

    一行,表示该串数中包含的满足 A−B=CA - B = CAB=C 的数对的个数。

    输入输出样例

    输入 #1
    4 1
    1 1 2 3
    
    输出 #1
    3

    说明/提示

    对于 75%75\%75% 的数据,1≤N≤20001 leq N leq 20001N2000。

    对于 100%100\%100% 的数据,1≤N≤2×1051 leq N leq 2 imes 10^51N2×105。

    保证所有输入数据都在 323232 位带符号整数范围内。

    2017/4/29 新添数据两组

    题解:map练习题

    #include<cstdio>
    #include<iostream>
    #include<cmath>
    #include<cstdlib>
    #include<cstring>
    #include<algorithm>
    #include<bits/stdc++.h>
    typedef long long ll;
    using namespace std;
    const int N=200002;
    int n;
    ll a[N],c,ans;
    map<ll,ll>mddd;
    int main(){
       // freopen("1102.in","r",stdin);
       // freopen("1102.out","w",stdout);
        scanf("%d %lld",&n,&c);
        for(int i=1;i<=n;i++){
            scanf("%lld",&a[i]);
            mddd[a[i]]++; a[i]-=c;
        }
        for(int i=1;i<=n;i++)
            ans+=mddd[a[i]];
        cout<<ans;
        return 0;
    }
  • 相关阅读:
    英文词频统计预备,组合数据类型练习
    凯撒密码、GDP格式化输出、99乘法表
    字符串基本操作
    条件、循环、函数定义 练习
    Turtle库基础练习
    Python基础练习
    理解管理信息系统
    HTML鼠标划过更换图片(透视X-ray)
    谷歌浏览器默认允许flash运行
    鼠标单击烟花效果
  • 原文地址:https://www.cnblogs.com/wuhu-JJJ/p/14075588.html
Copyright © 2011-2022 走看看