当前位置: 首页 > article >正文

第18次CCF CSP认证真题解

1、报数

题目链接:https://sim.csp.thusaac.com/contest/18/problem/0

根据题意,全部的测试数据范围满足n <= 666,所以,报出的数是 7 的倍数或含有数字 7的情况有:7的倍数、个位为7、十位为7、百位为7,如14、17、71、77、117、171、177、711等情况。当数字满足上述情况后,只需判断该数是甲乙丙丁中谁跳过的,并做统计即可。

100分代码:

#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
	int n;
	int count = 0;
	cin >> n;
	
	int a = 0,b = 0,c = 0,d = 0;
	while(count < n+a+b+c+d){
		count++;
		if(count % 7 == 0 || count % 10 == 7 || count / 10 == 7 || count % 100 / 10 == 7 || count / 100 == 7){
		   if(count % 4 == 1){
   			  a++;
   		}
		   else if(count % 4 == 2){
   			       b++;
   		}
		   else if(count % 4 == 3){
   			       c++;
   		}
		   else if(count % 4 == 0){
   			       d++;
        }
	}
		
}

    cout << a << endl << b << endl << c << endl << d << endl;
	
	return 0;
}

评测结果:

 

2、回收站选址

题目链接:https://sim.csp.thusaac.com/contest/18/problem/1 

本题难度不大,读懂题意后判断每种情况并统计即可。

100分代码:

#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
	int n;
	cin >> n;
	int x[1010],y[1010];
	for(int i = 0; i < n; i++){
		cin >> x[i] >> y[i];
	}
	
	
	int a = 0,b = 0,c = 0,d = 0,e = 0;
	for(int i = 0; i < n; i++){
		int count = 0;
		for(int j = 0; j < n; j++){
			if(i == j){
			   continue;
			}
			else if(x[j] == x[i] && y[j] == y[i]-1)count++;
			else if(x[j] == x[i] && y[j] == y[i]+1)count++;
			else if(x[j] == x[i]-1 && y[j] == y[i])count++;
			else if(x[j] == x[i]+1 && y[j] == y[i])count++;
		}
		if(count == 4){
			   int score = 0;
			   for(int k = 0; k < n; k++){
   				   if(i == k){
   				   	  continue;
   				   }
   				   else if(x[k] == x[i]-1 && y[k] == y[i]-1)score++;
   				   else if(x[k] == x[i]+1 && y[k] == y[i]+1)score++;
   				   else if(x[k] == x[i]+1 && y[k] == y[i]-1)score++;
   				   else if(x[k] == x[i]-1 && y[k] == y[i]+1)score++;
   			   }
		       if(score == 0)a++;
		       else if(score == 1)b++;
		       else if(score == 2)c++;
		       else if(score == 3)d++;
		       else if(score == 4)e++;
          }
	}
	
	cout << a << endl << b << endl << c << endl << d << endl << e << endl;
	
	return 0;
}

评测结果:


http://www.kler.cn/news/368359.html

相关文章:

  • 禾川SV-X2E A伺服驱动器参数设置——脉冲型
  • (7) cuda异常处理
  • 项目:Boost 搜索引擎
  • css-画一个三角形
  • Vue3 学习笔记(七)Vue3 语法-计算属性 computed详解
  • Coppelia Sim (v-REP)仿真 机器人3D相机手眼标定与实时视觉追踪 (一)
  • 算法题总结(十九)——图论
  • Redis设计与实现 学习笔记 第十三章 客户端
  • Sora高端制造业WordPress外贸主题
  • 编程学习与心理健康:孩子会因学习编程而焦虑吗?
  • 远程:HTTP基本身份验证失败。提供的密码或令牌不正确,或者您的账户启用了两步验证,您必须使用个人访问令牌而不是密码。
  • BotScreen: Trust Everybody, but Cut the Aimbots Yourself
  • Django 5 增删改查 小练习
  • Python实现Android设备录屏功能及停止录屏功能
  • Linux: Shell编程入门
  • 详解Redis相关缓存问题
  • Java中的反射(2)——调用构造方法和获取继承关系
  • shodan搜索引擎——土豆片的网安之路
  • <项目代码>YOLOv8路面病害识别<目标检测>
  • python中使用pymobiledevice3与手机交互(一)获取udid
  • 【C++】函数的返回、重载以及匹配、函数指针
  • 线程池(重要)
  • 位运算算法及习题 ,丢弃的数字 , 两整数之和 ,只出现一次的数字II
  • Java 线程池:深入理解与高效应用
  • C语言 | Leetcode C语言题解之第515题在每个树行中找最大值
  • 《Knowledge Graph Enhanced Multimodal Transformer for Image-Text Retrieval》中文校对版