小明种苹果(续)第十七次CCF认证
小明种苹果(续)第十七次CCF认证
题目
很高心,在现在CCF CSP可以下载自己当时的答卷了,也就是自己当时提交的代码,下面就贴上自己认证时写的代码
// INFO BEGIN
//
// User = 201910014101(赵**)
// Group = C/C++
// Problem = 小明种苹果(续)
// Language = DCPP
// SubmitTime = 2019-09-15 16:54:19
//
// INFO END
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn=1e4+7;
struct node
{
bool drop;
ll init, sum;
}ap[maxn];
int n, m;
int main()
{
ll tmp;
scanf("%d", &n);
for(int i=1; i<=n; i++)
{
scanf("%d", &m);
for(int j=1; j<=m; j++)
{
scanf("%lld", &tmp);
if(tmp<=0)
{
ap[i].sum+=(-tmp);
}
else if(tmp>0 && j!=1)
{
if(ap[i].init-ap[i].sum!=tmp)
ap[i].drop=true;
ap[i].init=tmp;
ap[i].sum=0;
}
else
{
ap[i].drop=false;
ap[i].init=tmp;
ap[i].sum=0;
}
}
}
ll res=0;
int pre, next, drops=0, team=0;
for(int i=1; i<=n; i++)
{
res+=ap[i].init-ap[i].sum;
if(ap[i].drop)
{
drops++;
pre=i-1;
next=i+1;
if(pre<=0) pre=n;
if(next>=n+1) next=1;
if(ap[pre].drop && ap[next].drop)
{
team++;
}
}
}
printf("%lld %d %d\n", res, drops, team);
return 0;
}
update:2019.12.11 16:54
解题思路
进行模拟即可
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn=1007;
struct node
{
ll init, dsum;
bool drop; //用来记录这棵树是否发生苹果掉落
}a[maxn];
int n, m;
int main()
{
ll tmp;
scanf("%lld", &n);
for(int i=1; i<=n; i++)
{
scanf("%d", &m);
for(int j=1; j<=m; j++)
{
scanf("%lld", &tmp);
if(j==1) //第一次要进行初始化
{
a[i].init=tmp;
a[i].drop=false;
continue;
}
if(tmp>0)
{
if(a[i].init!=tmp) //判断是否发生苹果掉落
{
a[i].dsum+=a[i].init-tmp;
a[i].init=tmp;
a[i].drop=true;
}
}
else
{
a[i].init += tmp; //注意这个tmp是非正数
}
}
}
ll sum=0, nums=0, ans=0;
for(int i=1; i<=n; i++)
{
sum+=a[i].init;
if(a[i].drop)
nums++;
}
printf("%lld %lld ", sum, nums);
for(int i=1; i<=n; i++)
{
if(a[i].drop)
{
if(i==1 && a[n].drop && a[i+1].drop)
ans++;
else if(i==n && a[i-1].drop && a[1].drop)
ans++;
else if(a[i-1].drop && a[i+1].drop)
ans++;
}
}
printf("%lld\n", ans);
return 0;
}
小明种苹果(续)第十七次CCF认证的更多相关文章
- csp201909-2小明种苹果续
/* 定义输入N 二维数组 输出T总数 D掉落棵树 E掉落组数 定义last记录上次掉落的编号,flag=1表示两次连续掉落,不掉落归零 spec=1表示1 2都掉落了,spec=2表示只有1掉落 对 ...
- CCF201909-2小明种苹果(续)
解题思路:解题思路很简答,就是用数组将数据存起来然后再进行统计,具体思路就见代码注释,记录这道题的是为了警示自己好好审题啊...... 审题有问题,写题火葬场啊.......以为每棵树就疏一次果,把D ...
- 201909-2 小明种苹果(续) Java
思路: 待补充 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc ...
- 201909-1 小明种苹果 Java
思路: 保存掉落的苹果总数,和树是第几棵即可 import java.io.BufferedReader; import java.io.IOException; import java.io.Inp ...
- CCF201909-1小明种苹果
解题思路:定义一个二维数组来存放输入的信息,第一列用来存放所有果树的初始值,然后遍历数组.具体思路见代码注释. 第一遍提交得了80分,看了半天才明白了原因,快被自己蠢死...... 定义数组应该为a[ ...
- nyoj 50-爱摘苹果的小明 (比较)
50-爱摘苹果的小明 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:10 submit:15 题目描述: 小明家的院子里有一棵苹果树,每到秋天树上就 ...
- 小明有5本新书,要借给A、B、C三位小朋友 若每人每次只能借一本,则可以有多少种不同的借法?
/* 问题描述: 小明有5本新书,要借给A.B.C三位小朋友, 若每人每次只能借一本,则可以有多少种不同的借法? 问题分析: 本题属于数学当中最常见的排列组合问题, 即求从5个数当中取3个不同数的排列 ...
- ACM 擅长排列的小明
擅长排列的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想 ...
- ACM 懒省事的小明
懒省事的小明 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种 ...
随机推荐
- javascript(腾讯)
var a={key:"1",value:2}; war b=a; b.value+=a.key, 打印b.value是多少,a.value呢? 答案:都是21.因为javascr ...
- js 获取dom 为null 测试
<!DOCTYPE html> <html> <head> </head> <body> <h1> 这是H1 </h1&g ...
- input样式去掉苹果手机的默认样式
/*<!---->去掉苹果短的样式*/ input[type="button"], input[type="submit"], input[type ...
- 打开ubuntu终端,没有用户名显示,只剩下光标在闪
总结起来就是bash损坏了.bash是用户与操作系统内核交互的工具.bash损坏,则用户无法操作计算机. 推荐两个帖子: https://blog.csdn.net/u011128515/articl ...
- Spring Boot教程(三)消费Restful的web服务
构架工程 创建一个springboot工程,去消费RESTFUL的服务.这个服务是 http:///gturnquist-quoters.cfapps.io/api/random ,它会随机返回Jso ...
- 从头开始学习Vuex
一.前言 当我们的应用遇到多个组件共享状态时,会需要多个组件依赖于同一状态抑或是来自不同视图的行为需要变更同一状态.以前的解决办法: a.将数据以及操作数据的行为都定义在父组件; b.将数据以及操作数 ...
- 《Effective Java》读书笔记 - 11.序列化
Chapter 11 Serialization Item 74: Implement Serializable judiciously 让一个类的实例可以被序列化不仅仅是在类的声明中加上" ...
- Found duplicate classes/resources
很可能是多个三方依赖重复了,依赖个插件,这个插件能查找出依赖关系, duplicate-finder-maven-plugin 使用命令显示 mvn dependency:tree [INFO] \- ...
- 如何解决两个相邻的span中间有空隙
span中间不要有换行.或者空格 或者在样式上加上float:left
- Android MQTT的发布与订阅
一.MQTT介绍 链接1(菜鸟教程):https://www.runoob.com/w3cnote/mqtt-intro.html 连接2(MQTT中文网):http://mqtt.p2hp.com/ ...


