• 题目链接 ... //小明种树 #include <iostream> #include<cmath> #include <algorithm> using namespace std; const int n = 10001; //注意数据量的边界值 const int m =...

# 题目链接

http://118.190.20.162/view.page?gpid=T94

//小明种树
#include <iostream>
#include<cmath>
#include <algorithm>
using namespace std;
const int n = 10001; //注意数据量的边界值
const int m = 10001;
int a[n][m]; //代表输入数据即每个果树苹果总个数和疏果个数
struct shuG //果树
{
int num; //疏果个数
int s; //s为果树编号从1开始
};
struct shuG shug[n];
void bubble1(struct shuG shug[], int N); //比较疏果数目
void cmp (struct shuG shug[], int N);//比较编号大小
int main()
{
int N, M; //N为苹果棵数M为疏果轮数
int T = 0;
int k = 0;
int p = 0;
int i, j;
//T为最后疏果后所有果树苹果总数，
//k为疏果个数最多的苹果编号
//p为果树疏果个数
cin >> N >>M;
//输入数据

for( i = 0; i < N; i++)
{
for(j = 0; j < M + 1; j++)
{
cin >> a[i][j];
T += a[i][j];
}
}

for( i = 0; i < N; i++)  //果树棵数
{
for(j = 1; j < M + 1; j++)// 疏果次数
{
shug[i].num += abs(a[i][j]);//每颗果树疏果的数目
shug[i].s = i + 1; //每颗果树编号
}
}
//排序

bubble1(shug, N); //排每棵树疏果数目
cmp (shug, N); //排疏果数目相同时的果树编号
k = shug[N-1].s;
p = shug[N-1].num;
cout << T << " " << k << " " << p;
return 0;
}

void bubble1(struct shuG shug[], int N) //按num疏果数排序
{
int flag = 0;
int temp1,temp2;
for(int i = 0; i < N - 1; i++)
{
for(int j = 0; j < N - i - 1; j++)
{
if(shug[j].num > shug[j+1].num)
{
temp1 = shug[j].num;
shug[j].num = shug[j+1].num;
shug[j+1].num = temp1;
temp2 = shug[j].s;
shug[j].s= shug[j+1].s;
shug[j+1].s = temp2;
flag = 1;
}
}
if(flag == 0)
break;

}
}

void cmp (struct shuG shug[], int N)
{
int flag = 0;
int temp;
for(int i = 0; i < N - 1; i++) //趟数
{
for(int j = 0; j < N - i -1; j++)
{
if(shug[j].num == shug[j+1].num)
{
//只排序s果树编号
if(shug[j].s < shug[j+1].s)
{
temp = shug[j].s;
shug[j].s = shug[j+1].s;
shug[j+1].s = temp;
flag == 1;
}
}
}
if(flag == 0)
{
break;
}
}
}

以上是个人代码，感觉比较臃肿复杂，水平有限只写到此。

下面是自己默写一个大佬的代码比较简洁

//自写模仿
#include<iostream>
#include <cmath>
using  namespace std;
int a[1001][1001];
int main()
{
int N,M;
cin >> N >> M;
//输入数据

for(int i = 0; i < N; i++)
{
for(int j = 0; j < M + 1; j++)
{
cin >> a[i][j];
}
}

//处理数据
int temp = 0;
//int  sum = 0;
int  p = 0;
int  k = 0;
int T = 0;;
for(int i = 0; i < N; i++)
{
temp = a[i][0]; //每颗果树初始苹果数
int sum = 0; //每次初始每颗树的疏果数为0；
for(int j = 1; j < M + 1; j++)
{
sum += abs(a[i][j]); //每颗果树疏果个数
}
if(p < sum)
{
p = sum;
k = i + 1;
}
else if(p == sum)
{
if(k > i + 1)
{
k = i + 1;
}
}
T += (temp - sum);
}
cout << T <<" " << k << " " << p;
return 0;
}

展开全文
• 题目自己找 爸爸累 不给你们找 cpp #include<iostream> using namespace std; int main(){ int N,M,T=0,k,p=0,temp_p,a0,temp,i; cin>>N>>M; for(int j=1;j<=N;......

cpp
#include<iostream>
using namespace std;
int main(){
int N,M,T=0,k,p=0,temp_p,a0,temp,i;
cin>>N>>M;
for(int j=1;j<=N;j++){
cin>>a0;
temp_p =0;
for(i = 1;i<=M;i++){
cin>>temp;
a0 = a0 + temp;
temp_p = temp_p-temp;
}
if(temp_p>p){
k = j;
p = temp_p;
}
T = T+a0;
}
cout<<T<<" "<<k<<" "<<p;
}

展开全文
• csp 小明种苹果（续） #include<iostream> #include<algorithm> #include<stack> using namespace std; int main(){ int n,m,a,c=0,d=0,t=0; cin>>n; int tree[n]={0}; for(int i=0;i...

## csp 小明种苹果（续）

#include<iostream>
#include<algorithm>
#include<stack>
using namespace std;

int main(){
int n,m,a,c=0,d=0,t=0;
cin>>n;
int  tree[n]={0};
for(int i=0;i<n;i++){
c=0;
cin>>m;
int f=0;//每棵树都要重置标记
for(int j=0;j<m;j++){
int b;
cin>>b;
if(b<=0)
c+=b;
else{
if(c>b)//c是疏果操作后剩余的个数，b>0 是统计实际数
{//不能再这里统计d,因为一棵树可能有多次统计，疏果操作
tree[i]++;
f=1;
}
c=b;
}

}
t+=c;
if(f){
d++;
}//统计发生苹果掉落的棵树

}
int e=0;
for(int i=0;i<n;i++){
if(tree[(i+1)%n]>0&&tree[(i+2)%n]>0&&tree[i]>0){
e++;
}

}
cout<<t<<" "<<d<<" "<<e;

}

展开全文
• CCF CSP 小明种苹果运行20分疑惑 #include<iostream> using namespace std; int apple[1001],drop[1001][1001],droptotal[1001]; int main(){ int N,M; cin>>N>>M; for(int i=0;i<...

## CCF CSP 小明种苹果运行20分疑惑

#include<iostream>
using namespace std;
int apple[1001],drop[1001][1001],droptotal[1001];
int main(){
int N,M;
cin>>N>>M;
for(int i=0;i<N;i++){
cin>>apple[i];
for(int j=0;j<M;j++){
cin>>drop[i][j];    //接收数据
droptotal[i]-=drop[i][j];  //计入每棵树的疏果总数
}
}
int Pnum=1;
for(int i=0;i<N-1;i++){
if(droptotal[i+1]>droptotal[i]){
Pnum=i+2;      //找到疏果最多树编号
}
}
int Psum=0;
for(int i=0;i<N;i++){
Psum+=(apple[i]-droptotal[i]);  //苹果总数
}
cout<<Psum<<" "<<Pnum<<" "<<droptotal[Pnum-1]<<endl;
return 0;
}

运行结果都正确，但只得了20分，求教大佬。。

展开全文
• 2019-09-2小明种苹果（续） 题目概述】 小明种苹果（续）相较于第一题难度有了一定的提升，苹果树排列成了一个圆，需要考虑苹果从树上掉落的情况以及处理苹果的疏果操作。 【输入输出】 输入要严格按照题目...
• 题目链接 #include <bits/stdc++.h> using namespace std; int n,m,x,e; long long sum; int main() { cin>>n; sum = 0; e = 0; map<int,int>cnt; set<int>... int
• CSP2019 9-1 题目如下: #include<stdio.h> #include<math.h> //这里数组一定要放外面放在函数里空间不够 int a[1001][1001]; void run(){ int i,j; int n,m; int sum=0,s=0,min=0,flag=0; ...
• 考完之后才意识到没有分类考虑那个苹果树是否大于3的情况！ 题目如下： 很简单！我们需要设置全局变量二维数组来存储输入的信息 # include using namespace std ; int apple [ 1005 ] [ 1005 ] ,...
• #include <iostream>... 错在了计算苹果自动掉落的数目棵树上 可能一棵树掉了好几次 */ int main() { // M树的颗数，N操作数 int M, N; cin >> M; int temp, sum = 0, f_sum = 0, ...
• #include <iostream> using namespace std; int main() { int n,m,a,asum=0,c,t=0,k=0,p=0,sum[1005],id[1005]; cin>>n>>m; for(int i=0;i<n;i++) { cin>...id[.
• 题目链接： http://118.190.20.162/view.page?gpid=T93 需登录才能看到c 代码： #include<stdio.h> int main(){ long long int t=0l; int d = 0,e = 0; int i,j,k,n,m,dp,flag =0;... //...
• #include <iostream> using namespace std; int main() { int n,m,a,t=0,d=0,e=0,id[1005],tr[1005]; cin>>n; for(int i=0;i<n;i++) { cin>>m; cin>>id[i];.
• 小明种苹果20190901题目分析源码 题目 Case 1： 输入： 3 3 73 -8 -6 -4 76 -5 -10 -8 80 -6 -15 0 输出： 167 2 23 解释： 第1棵苹果树的蔬果个数为8+6+4=18，第2棵为5+10+8=23，第3棵为6+15+0=21，因此最后...
• 为了保证苹果的品质，在种植过程要进行若干轮疏果操作，也就是提前从树上把不好的苹果去掉。第一轮疏果操作开始前，小明记录了每棵树上苹果的个数。每轮疏果操作时，小明都记录了从每棵树上去掉的苹果个数。在最后...
• package csp; import java.util.Arrays; import java.util.Scanner; public class csp20190902 { public static void main(String[] args) { int T=0; int max=0; int input=0; int D=0...
• 遗忘c快三年了，加上之前基础不扎实，今天刷到这道题收获了什么时候该取地址的问题，Mark! 题目 代码 #include<cstdio> #include<cmath> int a[10000][10000]; int b[1000]={0};...j+
• #include<cstdio> //#include<algorithm> //#include<cstring> //#include<cmath> //#include<iostream>... //190901 小明种苹果 struct tree{ int apple;//苹果个数 ...
• //alldrop 掉落苹果的棵树,E 组数,all所有苹果剩余总数 cin>>n; Tree tree[n]; for(int i =0,rec1;i;i++){ cin>>m; cin>>rec1; tree[i].start = rec1; tree[i].rest = rec1;//初始剩余和一开始一样 for(int ...
• ## csp试题1：小明种苹果

千次阅读 热门讨论 2019-09-25 17:00:52
csp试题1：小明种苹果题目分析代码总结 题目 题目描述       小明在他的果园里种了一些苹果树。为了保证苹果的品质，在种植过程中要进行若干轮疏果操作，也就是提前从树上吧不好的...
• 看着很简单的一道题弄了好久，一直都是运行错误，案例都正确，网上很多解决方法说是因为代码...package csp; import java.util.Arrays; import java.util.Collections; import java.util.Scanner; public class 一...
• 小明种苹果（续）20190902题目分析源码 题目 Case 1: 输入： 4 4 74 -7 -12 -5 5 73 -8 -6 59 -4 5 76 -5 -10 60 -2 5 80 -6 -15 59 0 输出： 222 1 0 解释： Case 2: 输入： 5 4 10 0 9 0 4 10 -2 7 0 2 10 ...
• 小明在他的果园里了一些苹果树，这些苹果树排列成一个圆。为了保证苹果的品质，在种植过程中要进行疏果操作。为了更及时地完成疏果操作，小明会不时地检查每棵树的状态，根据需要进行疏果。检查时，如果发现可能有...
• CSP 201909-1 小明种苹果
• 小明种苹果（续）相较于第一题难度有了一定的提升，苹果树排列成了一个圆，需要考虑苹果从树上掉落的情况以及处理苹果的疏果操作。 【输入输出】 输入要严格按照题目要求，注意不要输错。最后输出疏果后的...

...