• 【洛谷 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;
    }
  • 相关阅读:
    255以内全一的二进制数
    XP下ubuntu双系统安装方法
    数据库的增删改查
    网安团队建设
    链表相关操作
    操作系统及其他----面试
    排序算法之----快速排序
    排序算法之----希尔排序
    排序算法之----选择排序&插入排序
    排序算法之----冒泡排序
  • 原文地址:https://www.cnblogs.com/wuhu-JJJ/p/14075588.html
Copyright © 2020-2023  润新知