小明种苹果(续)第十七次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 描述 小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种 ...
随机推荐
- 第六章 Linux文件与目录管理
http://www.92csz.com/study/linux/6.htm 绝对路径:路径的写法一定由根目录”/”写起 相对路径:路径的写法不是由根目录”/”写起 mkdir 创建一个目录.mkdi ...
- IDEA 2018.1可用License服务(持续更新)
1. http://idea.congm.in 2.http://idea.toocruel.net
- 算法复习_线性时间求解Majority Vote Algorithm问题
题目来源于Leecode上的Majority Element问题 Majority Element:在一个序列中出现了至少n/2的下界次 使用排序算法取中位数则需要Nlogn http://www.c ...
- new/delete和malloc/free区别与联系
1.基本概念 malloc/free (1).函数原型及说明 void *malloc(long NumBytes): 该函数分配了NumBytes个字节,并返回了指向这块内存的指针.如果分配失败,则 ...
- TTTTTTTTTTTTTTTTT HDU 2586 How far away LCA的离线算法 Tarjan
链接: How far away ? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- cpp 实现简易String类
需求 实现一个String类 自己写的String headers/String.h #ifndef __MYSTRING__ #define __MYSTRING__ #include <st ...
- 【Leetcode】二分法
题目: 在排序数组中查找元素的第一个和最后一个位置. 二分法的思想非常简单,然而其中的实现细节非常繁琐,容易出错.本推文非常详细地介绍二分法的实现细节. 总结几点注意事项: 初始上.下界的取值: 判断 ...
- POJ 1573 Robot Motion(模拟)
题目代号:POJ 1573 题目链接:http://poj.org/problem?id=1573 Language: Default Robot Motion Time Limit: 1000MS ...
- 《数据结构(C语言)》苏小红 课本案例
期末了,赶紧复习一波,手打一份书上的代码以便随时查阅 第二章: //顺序表存储结构 #define MAXSIZE 100 typedef struct { Elemtype *elemt; int ...
- 关于项目中的一些经验:封装activity、service的基类,封装数据对象
经验一,将几个页面公用的数据,和方法进行封装,形成一个baseActivity的类: package com.ctbri.weather.control; import java.util.Array ...