第十七次CCF-CSP認證
- 小明種蘋果
- AC代碼
- 小明種蘋果(續)
- AC代碼
- 后面好難哈哈 小手冰涼
小明種蘋果
輸入輸出:
題目鏈接
AC代碼
#include<iostream>
using namespace std;
int n,m;
int res,res3;
int sum;
int res2=1;
int main(){cin >>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m+1;j++){int x;cin >>x;res+=x;if(j!=1) sum-=x; }if(sum>res3 ){res3=sum;res2=i;}sum =0;}cout <<res<<' '<<res2<<' '<<res3<<endl;return 0;
}
小明種蘋果(續)
題目鏈接
輸入輸出:
AC代碼
鏈接:源碼地址
#include<iostream>
#include <algorithm>using namespace std;
typedef long long int ll;
int apple[1005][1005]; // 存儲每棵樹的觀測記錄
int rem[1005]; // 記錄每棵樹最終剩余的蘋果數
bool down[1005]; // 標記每棵樹是否發生過蘋果掉落,初始值為falseint main(){ios::sync_with_stdio(false); // 加快輸入輸出速度cin.tie(0);int N; // 蘋果樹的棵數int D=0; // 發生蘋果掉落的蘋果樹的數量ll T=0; // 剩余的果子總數ll E=0; // 連續三棵樹都發生掉落的組數cin>>N;// 處理每棵蘋果樹的觀測記錄for(int i=1;i<=N;i++){int m; // 當前樹的觀測記錄數cin>>m;bool flag = false; // 標記當前樹是否發生了蘋果掉落// 處理當前樹的每條觀測記錄for(int j=1;j<=m;j++){cin>>apple[i][j];// 若記錄為正數,表示直接更新蘋果數if(apple[i][j]>0){// 若當前記錄的蘋果數小于之前的記錄,說明發生了掉落if(rem[i]>apple[i][j]){flag = true;}rem[i]=apple[i][j]; // 更新當前蘋果樹的蘋果數}// 若記錄為負數,表示蘋果數減少else{rem[i]+=apple[i][j]; // 更新當前蘋果樹的蘋果數}}// 若當前樹發生了掉落,更新相關統計if(flag){++D; // 掉落樹的數量加1down[i]= true; // 標記當前樹發生了掉落}T+=rem[i]; // 累加當前樹的剩余蘋果數到總數}// 處理環形結構:將最后兩棵樹的狀態復制到N+1和N+2位置down[N+1]=down[1];down[N+2]=down[2];// 統計連續三棵樹都發生掉落的組數for(int i=1;i<=N;i++){if(down[i]&&down[i+1]&&down[i+2]){++E; // 若當前樹及其后兩棵樹都掉落,組數加1}}// 輸出結果cout<<T<<" "<<D<<" "<<E<<endl;return 0;
}