tonylibra1018
BAN USERpublic class StringTest {
static int row ,col,n;
public String[][] buildGrid(String input) {
n=0;
String[][] matrix;
col = input.length();
for(int i=0; i<col; i++) {
if(input.charAt(i)=='?')
n++;
}
double m = Math.pow(2,n);
row = (int) m;
matrix = new String[row][col];
return matrix;
}
public String[][] fillGrid(String input,String[][] Grid) {
int d = 0;
for(int a=0; a<col; a++){
if(input.charAt(a)=='?'){
d++;
double m = Math.pow(2, d-1);
double n = Math.pow(2, d);
int p = (int) m;
int q = (int) n;
for(int i=0; i<p; i++) {
for(int j=(row/p*i); j<(row/q+row/p*i);j++){
Grid[j][a] = "0";
Grid[j+row/q][a] = "1";
}
}
}
else {
for(int b=0; b<row; b++){
char c = input.charAt(a);
Grid[b][a]=String.valueOf(c);
}
}
}
return Grid;
}
public static void main(String[] args) {
StringTest tmp = new StringTest();
String input = "a?b?c?";
String[][] preOutput = tmp.buildGrid(input);
String[][] output = tmp.fillGrid(input,preOutput);
for(int i=0; i<row; i++){
for(int j=0; j<col; j++){
System.out.print(output[i][j]);
}
System.out.println();
}
}
}
public class StringTest {
static int row ,col,n;
public String[][] buildGrid(String input) {
n=0;
String[][] matrix;
col = input.length();
for(int i=0; i<col; i++) {
if(input.charAt(i)=='?')
n++;
}
double m = Math.pow(2,n);
row = (int) m;
matrix = new String[row][col];
return matrix;
}
public String[][] fillGrid(String input,String[][] Grid) {
int d = 0;
for(int a=0; a<col; a++){
if(input.charAt(a)=='?'){
d++;
double m = Math.pow(2, d-1);
double n = Math.pow(2, d);
int p = (int) m;
int q = (int) n;
for(int i=0; i<p; i++) {
for(int j=(row/p*i); j<(row/q+row/p*i);j++){
Grid[j][a] = "0";
Grid[j+row/q][a] = "1";
}
}
}
else {
for(int b=0; b<row; b++){
char c = input.charAt(a);
Grid[b][a]=String.valueOf(c);
}
}
}
return Grid;
}
public static void main(String[] args) {
StringTest tmp = new StringTest();
String input = "a?b?c?";
String[][] preOutput = tmp.buildGrid(input);
String[][] output = tmp.fillGrid(input,preOutput);
for(int i=0; i<row; i++){
for(int j=0; j<col; j++){
System.out.print(output[i][j]);
}
System.out.println();
}
}
}
public class StringTest {
static int row ,col,n;
public String[][] buildGrid(String input) {
n=0;
String[][] matrix;
col = input.length();
for(int i=0; i<col; i++) {
if(input.charAt(i)=='?')
n++;
}
double m = Math.pow(2,n);
row = (int) m;
matrix = new String[row][col];
return matrix;
}
public String[][] fillGrid(String input,String[][] Grid) {
int d = 0;
for(int a=0; a<col; a++){
if(input.charAt(a)=='?'){
d++;
double m = Math.pow(2, d-1);
double n = Math.pow(2, d);
int p = (int) m;
int q = (int) n;
for(int i=0; i<p; i++) {
for(int j=(row/p*i); j<(row/q+row/p*i);j++){
Grid[j][a] = "0";
Grid[j+row/q][a] = "1";
}
}
}
else {
for(int b=0; b<row; b++){
char c = input.charAt(a);
Grid[b][a]=String.valueOf(c);
}
}
}
return Grid;
}
public static void main(String[] args) {
StringTest tmp = new StringTest();
String input = "a?b?c?";
String[][] preOutput = tmp.buildGrid(input);
String[][] output = tmp.fillGrid(input,preOutput);
for(int i=0; i<row; i++){
for(int j=0; j<col; j++){
System.out.print(output[i][j]);
}
System.out.println();
}
}
}
Why find the smallest even number in y? I think it should be biggest, and swap the biggest even number with right most digit.
- tonylibra1018 June 02, 2014
- tonylibra1018 June 14, 2014