This commit is contained in:
Zengtudor 2024-08-03 10:43:46 +08:00
parent dddf880547
commit 4a90578dbe
4 changed files with 35 additions and 125 deletions

Binary file not shown.

View File

@ -10,13 +10,13 @@ int l[MAX_N];
int prefix_r[MAX_N]; int prefix_r[MAX_N];
int r[MAX_N]; int r[MAX_N];
void debug_array(int array[],size_t size,string name){ // void debug_array(int array[],size_t size,string name){
cout<<"\n"<<name<<" ["; // cout<<"\n"<<name<<" [";
for(int i=0;i<size;i++){ // for(int i=0;i<size;i++){
cout<<array[i]<<(i!=size-1?",":""); // cout<<array[i]<<(i!=size-1?",":"");
} // }
cout<<"]\n"; // cout<<"]\n";
} // }
signed main(){ signed main(){
@ -33,18 +33,21 @@ signed main(){
cin>>x[i]; cin>>x[i];
if (max_house<=x[i])max_house=x[i]; if (max_house<=x[i])max_house=x[i];
} }
// cout<<"\nx[n]:"<<x[n]<<"\n";
//RM //RM
cout<<"\nmaxhouse:"<<max_house<<"\n"; // cout<<"\nmaxhouse:"<<max_house<<"\n";
// max_house=x[n]; // max_house=x[n];
//RM //RM
debug_array(x, n, "x"); // debug_array(x+1, n, "x");
string s; string s;
cin>>s; cin>>s;
//RM //RM
assert(s.size()==n-1); // assert(s.size()==n-1);
for(int i=0;i<=max_house;i++){
r[i]=0;
}
for(int i=1;i<=s.size();i++){ for(int i=1;i<=s.size();i++){
if (s[i-1]=='1') { if (s[i-1]=='1') {
l[i]=1; l[i]=1;
@ -58,15 +61,15 @@ signed main(){
int cnt=0; int cnt=0;
for (int j=1; j<=k; j++) { for (int j=1; j<=k; j++) {
//RM //RM
cout<<"\nk:"<<j<<"\n"; // cout<<"\nk:"<<j<<"\n";
debug_array(r, max_house, "r"); // debug_array(r, max_house, "r");
for(int i=1;i<=max_house;i++){ for(int i=1;i<=max_house;i++){
prefix_r[i]=prefix_r[i-1]+r[i]; prefix_r[i]=prefix_r[i-1]+r[i];
} }
//RM //RM
debug_array(prefix_r, max_house, "prefix_r"); // debug_array(prefix_r, max_house, "prefix_r");
int max_dir=INT_MIN; int max_dir=INT_MIN;
int max_num=INT_MIN; int max_num=INT_MIN;
@ -78,10 +81,10 @@ signed main(){
} }
//RM //RM
debug_array(prefix_r, max_house, "prefix_r"); // debug_array(prefix_r, max_house, "prefix_r");
//RM //RM
cout<<"\nMAX_DIR:"<<max_dir<<"\n"; // cout<<"\nMAX_DIR:"<<max_dir<<"\n";
for (int i=max_dir+1; i<=max_dir+m; i++) { for (int i=max_dir+1; i<=max_dir+m; i++) {
r[i]=0; r[i]=0;
} }
@ -90,11 +93,11 @@ signed main(){
cnt+=r[i]; cnt+=r[i];
} }
//RM //RM
cout<<"\ncnt:"<<cnt<<"\n"; // cout<<"\ncnt:"<<cnt<<"\n";
} }
cout<<cnt<<"\n"; cout<<cnt<<"\n";
//RM //RM
cout<<"\nNEXT------------\n"<<endl; // cout<<"\nNEXT------------\n"<<endl;
/* /*
cout<<"\nl:\n"; cout<<"\nl:\n";

View File

@ -1,4 +1,16 @@
5
3 2 13
0 6 80
11
7 2 11
0 50 80 83 86 97 97
111011
2 2 43
0 83
1 1
9 2 47 9 2 47
0 26 34 40 71 75 79 98 99 0 26 34 40 71 75 79 98 99
11111101 11111101
10 2 36
0 14 28 29 30 37 55 64 65 81
011101000

View File

@ -1,110 +1,5 @@
x [0,0,6]
k:1
prefix_r [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79]
MAX_DIR:0
cnt:67
k:2
prefix_r [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66]
MAX_DIR:13
cnt:54
54 54
NEXT------------
x [0,0,50,80,83,86,97]
k:1
prefix_r [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,83,83,83,84,85,86,87,88,89,90,91,92,93]
MAX_DIR:0
cnt:83
k:2
prefix_r [0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,72,72,72,73,74,75,76,77,78,79,80,81,82]
MAX_DIR:11
cnt:72
72 72
NEXT------------
x [0,0]
k:1
prefix_r [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82]
MAX_DIR:0
cnt:40
k:2
prefix_r [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]
MAX_DIR:40
cnt:0
0 0
1
NEXT------------
x [0,0,26,34,40,71,75,79,98]
k:1
prefix_r [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,79,79,79,79,79,79,79,80,81,82,83,84,85,86,87,88,89,90,90]
MAX_DIR:0
cnt:44
k:2
prefix_r [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,32,32,32,32,32,32,32,33,34,35,36,37,38,39,40,41,42,43,43]
MAX_DIR:47
cnt:4
4
NEXT------------
x [0,0,14,28,29,30,37,55,64,65]
k:1
prefix_r [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,16,16,16,16,16,16,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34]
MAX_DIR:14
cnt:5
k:2
prefix_r [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5]
MAX_DIR:19
cnt:0
0 0
NEXT------------