hdu1034 简单模拟
生活随笔
收集整理的這篇文章主要介紹了
hdu1034 简单模拟
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這里開一個二維數組。num[105][2]; ? 我也不知道N有多少,隨便開的, ?那么這里num[i][0] 表示當前 第 i 個人擁有的糖果數,num[i][1]表示他上面一個人分給他的糖果數。詳細實現見代碼凝視
這里要注意的就是:先給糖果,然后假設有人糖果數為奇數。就加1 ,然后再推斷是不是相等
上馬:
#include <iostream> #include <cstring>using namespace std;int num[105][2]; int N;bool end()//推斷是否end過程中。處理分糖果 {bool flag = true;//是否endfor(int i = 0; i < N; i ++){num[i][0] = num[i][0] + num[i][1]; //先處理if(num[i][0] % 2 != 0) num[i][0] ++;//奇數就加1}for(int i = 0; i < N-1; i ++){if(num[i][0] != num[i+1][0]) flag = false;//兩兩中相等就都相等}return flag; } int main() {while(cin >> N && N){memset(num,0,sizeof(num));for(int i = 0; i < N; i ++) cin >> num[i][0];int time = 0;//次數while(1){if(end()) break;time ++;for(int i = 0; i < N; i ++)//循環處理{int right = (i+1)%N; //這里表示下一個人num[right][1] = num[i][0] / 2;num[i][0] = num[i][0]/2;}}cout << time << ' ' << num[0][0]<<endl;}return 0; }
總結
以上是生活随笔為你收集整理的hdu1034 简单模拟的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: laravel官网是啥
- 下一篇: leetcode第一刷_Search i