1 package jp.sourceforge.stigmata.birthmarks.wsp;
3 public class WeightCalculator{
5 public int calculateWeight(int[][] wcs){
7 boolean[][] availableFlag = new boolean[wcs.length][wcs[0].length];
8 for(int i = 0; i < wcs.length; i++){
9 for(int j = 0; j < wcs[i].length; j++){
10 availableFlag[i][j] = true;
14 int length = wcs.length;
15 if(length < wcs[0].length){
16 length = wcs[0].length;
18 for(int k = 0; k < length; k++){
19 int max = Integer.MIN_VALUE;
22 for(int i = 0; i < wcs.length; i++){
23 for(int j = 0; j < wcs[i].length; j++){
24 if(max < wcs[i][j] && availableFlag[i][j]){
31 if(column >= 0 && row >= 0){
32 for(int i = 0; i < wcs.length; i++){
33 availableFlag[i][column] = false;
35 for(int j = 0; j < wcs[0].length; j++){
36 availableFlag[row][j] = false;
38 weight += wcs[column][row];