1 条题解

  • 0
    @ 2025-8-24 22:13:49

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar 2011hym
    暴力占据大脑,打表代替思考 | 寒鸦栖枯地,拿分靠暴力 | 空山不见人,爆0就红温

    搬运于2025-08-24 22:13:49,当前版本为作者最后更新于2025-06-01 23:39:04,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    棋逢对手,将遇良才。

    更好的阅读体验。

    题意

    现在给出每组有 33 个数的长度为 nn 的序列,要求出其中有几对每个数的差不超过 55 且总差不超过 1010 的组。

    思路

    这就是一道纯模拟题,我们可以设立 44 个数组,分别表示语文、数学、英语和总分。

    对这 44 个依次进行判断,直接加到答案里面。

    时间复杂度为 O(n2)O(n^2)

    在本题的数据范围内(2n10002\le n\le1000),这种时间复杂度是完全可行的。

    代码

    #include <bits/stdc++.h>
    using namespace std;
    int yw[1005],sx[1005],yy[1005],zf[1005];//拼音万岁!
    int ans=0;
    int main(){
    	int n;
    	cin>>n;
    	for(int i=1;i<=n;++i){
    		cin>>yw[i]>>sx[i]>>yy[i];
    		zf[i]=yw[i]+sx[i]+yy[i]; 
    	}
    	for(int i=1;i<=n;i++){
    		for(int j=i+1;j<=n;j++){
    			if((abs(yw[i]-yw[j])<=5)&&(abs(sx[i]-sx[j])<=5)&&(abs(yy[i]-yy[j])<=5)&&(abs(zf[i]-zf[j])<=10)){//就是题目里面的意思。
                    ans++;
                }
    		}
    	}
    	cout<<ans;
    	return 0;
    }
    
    • 1

    信息

    ID
    4706
    时间
    1000ms
    内存
    125MiB
    难度
    1
    标签
    (无)
    递交数
    0
    已通过
    0
    上传者