#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(){
int a[5]={1,1,2,3,2};
int b[5]={0,2,1,2,6};//上限值
int c[5]={0,0,0,0,0};//用來記錄超過限制的格子(先歸零)
int tmp;
int tmp2;
int tmp3;
int i,j;
for(j=0;j<5;j++){
c[j]=b[j]-a[j];
}
for(j=0;j<5;j++){
if(c[j]<0)
tmp2=abs(c[j]); //取正值,然後將此值分配給其他未滿的格子
for(i=0;i<tmp2;i++){ //還要注意分配之後 該格子有沒有滿
do{
tmp3=rand()%5;
a[tmp3]++;
}while (c[j]>0); //若滿了再分給其他格<---這段不知道該怎麼寫
}
}
// 第24行~第30行 有疑問~!!!
return 0;
}
//重新分配後 a陣列的值 分別多少?
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNzdGRsaWI+CiNpbmNsdWRlPGN0aW1lPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCmludCBtYWluKCl7CmludCBhWzVdPXsxLDEsMiwzLDJ9OwppbnQgYls1XT17MCwyLDEsMiw2fTsvL+S4iumZkOWAvAppbnQgY1s1XT17MCwwLDAsMCwwfTsvL+eUqOS+huiomOmMhOi2hemBjumZkOWItueahOagvOWtkCjlhYjmrbjpm7YpCmludCB0bXA7CmludCB0bXAyOwppbnQgdG1wMzsKaW50IGksajsKZm9yKGo9MDtqPDU7aisrKXsKICAgIGNbal09YltqXS1hW2pdOwp9CmZvcihqPTA7ajw1O2orKyl7CiAgICBpZihjW2pdPDApCiAgICB0bXAyPWFicyhjW2pdKTsgICAgICAgICAvL+WPluato+WAvCznhLblvozlsIfmraTlgLzliIbphY3ntablhbbku5bmnKrmu7/nmoTmoLzlrZAKICAgICBmb3IoaT0wO2k8dG1wMjtpKyspeyAgLy/pgoTopoHms6jmhI/liIbphY3kuYvlvowg6Kmy5qC85a2Q5pyJ5rKS5pyJ5ru/CiAgICAgICAgZG97CiAgICAgICAgICAgIHRtcDM9cmFuZCgpJTU7CiAgICAgICAgICAgIGFbdG1wM10rKzsKIAogICAgICAgIH13aGlsZSAoY1tqXT4wKTsgICAgLy/oi6Xmu7/kuoblho3liIbntablhbbku5bmoLw8LS0t6YCZ5q615LiN55+l6YGT6Kmy5oCO6bq85a+rCiAgICAgfQp9Ci8vIOesrDI06KGMfuesrDMw6KGMICDmnInnlpHllY9+ISEhCiAKcmV0dXJuIDA7Cn0KCi8v6YeN5paw5YiG6YWN5b6MICBh6Zmj5YiX55qE5YC8IOWIhuWIpeWkmuWwkT8=