[ create a new paste ] login | about

Link: http://codepad.org/sBe5PG5E    [ raw code | output | fork ]

C++, pasted on May 13:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int minans;
void solve(char ** box,int number ,int p){//p=led number=number
	int ans,befor;//ans=check index befor=vector beforsize
	string s;
	for(ans=0;ans<p;++ans){
		vector <string> check; 
		for(int i=0;i<number;++i){
			s="";
			for(int j=0;j<p;++j){
				if(ans==j)continue;
				else{
					s+=box[i][j];
				}				
			}
			/*cout<<s<<endl;
			cout<<s.size()<<endl;*/
			check.push_back(s);	
		}
		//cout<<endl;
		befor=check.size();
		sort(check.begin(),check.end());
		int checksize=unique(check.begin(),check.end())-check.begin();
		check.resize(checksize);		
		//printf("size%d  checksize%d\n",befor,checksize);
		if(befor==checksize&&check[0].size()<minans){//recursive	
				minans=check[0].size();
				//cout<<minans<<endl;
			char ** box2 = new char*[number];
			for(int i=0;i<number;i++){
				box2[i] = new char[check[0].size()];
			}
			for(int i=0;i<number;i++){
				for(int j=0;j<check[0].size();j++){
					box2[i][j]=check[i][j];
				}
			}
			solve(box2,number,check[0].size());
			for(int i=0;i<number;i++){
				delete [] box2[i];
			}
			delete [] box2 ;
		}
		check.clear();
	}
}

int main(){
	int test,p,number;
	cin>>test;
	while(test--){
		cin>>p>>number;
		minans=p;
		char ** box = new char*[number];
		for(int i=0;i<number;i++){
			box[i]=new char[p];
		}
		for(int i=0;i<number;i++){
			for(int j=0;j<p;j++){
				cin>>box[i][j];
			}
		}
		solve(box,number,p);//p=led number=number
		cout<<minans<<endl;
		for(int i=0;i<number;i++){
				delete [] box[i];
			}
		delete [] box ;
	}
	return 0;
}


Output:
1
2
3
4
cc1plus: warnings being treated as errors
In function 'void solve(char**, int, int)':
Line 30: warning: comparison between signed and unsigned integer expressions
Line 38: warning: comparison between signed and unsigned integer expressions


Create a new paste based on this one


Comments: