首页 > 编程语言 >CCF_201912-2 回收站选址(C++_暴力_枚举)

CCF_201912-2 回收站选址(C++_暴力_枚举)

时间:2023-06-20 10:03:56浏览次数:54  
标签:暴力 int ll C++ 枚举 long 201912 1010 回收站


CCF_201912-2 回收站选址(C++_暴力_枚举)_ci

CCF_201912-2 回收站选址(C++_暴力_枚举)_i++_02

CCF_201912-2 回收站选址(C++_暴力_枚举)_i++_03

思路

本来想用dfs来着,有垃圾的地方就标一后来看到数的大小为CCF_201912-2 回收站选址(C++_暴力_枚举)_ci_04,数量却只有CCF_201912-2 回收站选址(C++_暴力_枚举)_ci_05就果断暴力了…

Code

#include<bits/stdc++.h>//暴力枚举
using namespace std;
typedef long long ll;
ll x[1010], y[1010], num[1010], score[1010], ans[10];
int main()
{
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++)//录入地址
		cin >> x[i] >> y[i];
	for(int i=1;i<=n;i++)
		for (int j = i + 1; j <= n; j++)
			if (x[i] == x[j] && y[i] == y[j] - 1 || x[i] == x[j] && y[i] == y[j] + 1 || x[i] == x[j] + 1 && y[i] == y[j] || x[i] == x[j] - 1 && y[i] == y[j])//暴力枚举
			{
				num[j]++;
				num[i]++;
			}
	for (int i = 1; i <= n; i++)
		if (num[i] == 4)//符合选址要求
			for (int j = 1; j <= n; j++)
				if (x[j] == x[i] - 1 && y[j] == y[i] - 1 || x[j] == x[i] - 1 && y[j] == y[i] + 1 || x[j] == x[i] + 1 && y[j] == y[i] + 1 || x[j] == x[i] + 1 && y[j] == y[i] - 1)
					score[i]++;
	for (int i = 1; i <= n; i++)
		if (num[i] == 4)
			ans[score[i]]++;
	for (int i = 0; i <= 4; i++)
		cout << ans[i] << endl;
	return 0;
}


标签:暴力,int,ll,C++,枚举,long,201912,1010,回收站
From: https://blog.51cto.com/u_16165815/6520499

相关文章

  • PTA_乙级_1002 写出这个数(C++_模拟)
    读入一个正整数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数的值。这里保证小于。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654......
  • 呼叫中心的离散事件模拟(C++_模拟)
    题目       模拟网上书店的电话接待台接电话(离散事件)的过程。用户在打电话咨询时,先输入自己的标识(如姓名或会员号),然后进入排队等待被接听电话。xauat服务人员会根据该用户在书店已购买书籍的累计消费情况对拨入的电话进行排序。累计消费超过3000元的为1类用户,最先得......
  • 逆波兰式求值(C++_模拟)
    题目       将中缀表达式翻译成后缀表达式(逆波兰表达式)时,可以去掉中缀表达式中出现的括号,简化表达式。如中缀表达式“(2+3)6”被转成后缀表达式“23+6”后,可以借助于栈对表达式求值,完成运算。规则大致如下:       遇到操作数,则入栈;       遇到二元运算符,则......
  • P1203 [USACO1.1]坏掉的项链Broken Necklace(C++_模拟_暴力枚举_优化)
    题目描述你有一条由n个红色的,白色的,或蓝色的珠子组成的项链,珠子是随意安排的。这里是n=29的两个例子:第一和第二个珠子在图片中已经被作记号。图片A中的项链可以用下面的字符串表示:brbrrrbbbrrrrrbrrbbrbbbbrrrrb假如你要在一些点打破项链,展开成一条直线,然后从一端开始收集......
  • P1582 倒水(C++_数论_进制)
    题目描述一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水。接着~~CC发现瓶子实在太多了,于是他决定保留不超过K个瓶子。每次他选择两个当前含水量相同的瓶子,把一个瓶子的水全部倒进另一个里,然后把空瓶丢弃。(不能丢弃有水的瓶子)显然在某些情况下CC无法达到目标,比......
  • P1478 陶陶摘苹果(升级版)(C++_贪心)
    题目描述又是一年秋季时,陶陶家的苹果树结了n个果子。陶陶又跑去摘苹果,这次他有一个a公分的椅子。当他手够不着时,他会站到椅子上再试试。这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力气只剩下s了。当然,每次摘苹果时都要用一定的力气。陶陶想知道在s<0s<0之前最多......
  • CCF_201612-4 压缩编码(C++_区间DP)
    问题描述       给定一段文字,已知单词a1,a2,…,an出现的频率分别t1,t2,…,tn。可以用01串给这些单词编码,即将每个单词与一个01串对应,使得任何一个单词的编码(对应的01串)不是另一个单词编码的前缀,这种编码称为前缀码。使用前缀码编码一段文字是指将这段文字中的每......
  • PAT_Advanced Level_1078 Hashing (25分)(C++_Hush_平方探测法)
    Thetaskofthisproblemissimple:insertasequenceofdistinctpositiveintegersintoahashtable,andoutputthepositionsoftheinputnumbers.ThehashfunctionisdefinedtobeH(key)=key%TSizewhereTSizeisthemaximumsizeofthehashtable.Qu......
  • 数据结构代码整理_队列Queue(C++)
    所谓队列,就是先进先出规则的实现。基于链表实现main.cpp#include<iostream>#include"Queue.h"usingnamespacestd;intmain(){ Queueq; q.append(1); q.append(2); Queue_entrya; q.retrieve(a); cout<<a<<""<<q.empty(); return......
  • PTA_乙级_1001 害死人不偿命的(3n+1)猜想 (C++_数论)
    卡拉兹(Callatz)猜想:对任何一个正整数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹......