Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:大水题,都不用苯地debug就1A

Posted by yrf_tan at 2021-07-20 17:37:17 on Problem 1416
In Reply To:大水题,都不用苯地debug就1A Posted by:KatrineYang at 2016-10-23 12:50:24
> #include <iostream>
> #include <string.h>
> #include <stdio.h>
> #include <stdlib.h>
> using namespace std;
> 
> char thresStr[10], paper[10];
> int thres;
> int state;
> int mx;
> int len;
> int res[10];
> int intv[11][11];
> int resGs;
> 
> bool init(){
> 	scanf("%s%s", thresStr, paper);
> 	thres = atoi(thresStr);
> 	if(strcmp(paper, "0") == 0 && (!thres)){
> 		return 0;
> 	}
> 	mx = -1;
> 	len = strlen(paper);
> 	state = 0;
> 	for(int i = 0; i < len; i++) intv[i][i] = 0;
> 	for(int j = 0; j < len; j++){
> 		for(int i = j+1; i <= len; i++){
> 			intv[j][i] = 10 * intv[j][i-1] + (paper[i-1]-'0');
> 		}
> 	}
> 	return 1;
> }
> 
> void solve(){
> 	int p2len = 1 << (len-1);
> 	for(int istate = 0; istate < p2len; istate++){
> 		int dbgs = 0;
> 		int dbPos[11];
> 		for(int i = 0; i < len-1; i++){
> 			if((istate >> i)%2 == 1){
> 				dbPos[dbgs] = i;
> 				dbgs++;
> 			}
> 		}
> 		dbPos[dbgs] = len-1;
> 		dbgs++;
> 		int curPos = 0;
> 		int sum = 0;
> 		int tmpRes[11];
> 		for(int i = 0; i < dbgs; i++){
> 			sum += intv[curPos][dbPos[i]+1];
> 			tmpRes[i] = intv[curPos][dbPos[i]+1];
> 			curPos = dbPos[i]+1;
> 		}
> 		if(sum <= thres && sum > mx){
> 			mx = sum;
> 			state = 0;
> 			resGs = dbgs;
> 			for(int i = 0; i < dbgs; i++){
> 				res[i] = tmpRes[i];
> 			}
> 		}
> 		else if(sum == mx){
> 			state = 1;
> 		}
> 	}
> }
> 
> int main() {
> 	while(init()){
> 		solve();
> 		if(mx == -1){
> 			printf("error\n");
> 		}
> 		else if(state == 1){
> 			printf("rejected\n");
> 		}
> 		else{
> 			printf("%d", mx);
> 			for(int i = 0; i < resGs; i++){
> 				printf(" %d", res[i]);
> 			}
> 			printf("\n");
> 		}
> 	}
> 	return 0;
> }

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator