Language: C++

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int main(void){
	int n,c,i,j;
	int d[35][35],ca[505][505],k[4][33],m,x,l,y[7],min,s,cv,cw;
	cin>>n>>c;
	for(i=1;i<=c;i++){
		for(j=1;j<=c;j++){
			cin>>d[i][j];
		}
	}
	for(i=1;i<=n;i++){
		for(j=1;j<=n;j++){
			cin>>ca[i][j];
		}
	}
	for(i=0;i<=3;i++){
		for(j=0;j<=31;j++){
			k[i][j]=0;
		}
	}
	for(i=1;i<=n;i++){
		for(j=1;j<=n;j++){
			m=(i+j)%3;
			x=ca[i][j];
			k[m][x]++;
		}
	}
	
	for(i=1;i<=6;i++){
		y[i]=0;
	}
	
	
	
	min=999999999;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[0][l]*d[l][j];
		}
		if(s<min){
			min=s;
			cv=j;
		}
	}
	y[1]=y[1]+min;
	min=999999999;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[1][l]*d[l][j];
		}
		if(s<min&&j=!cv){
			min=s;
			cw=j;
		}
	}
	y[1]=y[1]+min;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[2][l]*d[l][j];
		}
		if(s<min&&j=!cv&&j=!cw){
			min=s;
		}
	}
	y[1]=y[1]+min;
	
	
	
	min=999999999;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[0][l]*d[l][j];
		}
		if(s<min){
			min=s;
			cv=j;
		}
	}
	y[2]=y[2]+min;
	min=999999999;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[2][l]*d[l][j];
		}
		if(s<min&&j=!cv){
			min=s;
			cw=j;
		}
	}
	y[2]=y[2]+min;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[1][l]*d[l][j];
		}
		if(s<min&&j=!cv&&j=!cw){
			min=s;
		}
	}
	y[2]=y[2]+min;
	
	
	
	min=999999999;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[1][l]*d[l][j];
		}
		if(s<min){
			min=s;
			cv=j;
		}
	}
	y[3]=y[3]+min;
	min=999999999;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[0][l]*d[l][j];
		}
		if(s<min&&j=!cv){
			min=s;
			cw=j;
		}
	}
	y[3]=y[3]+min;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[2][l]*d[l][j];
		}
		if(s<min&&j=!cv&&j=!cw){
			min=s;
		}
	}
	y[3]=y[3]+min;
	
	
	
	min=999999999;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[1][l]*d[l][j];
		}
		if(s<min){
			min=s;
			cv=j;
		}
	}
	y[4]=y[4]+min;
	min=999999999;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[2][l]*d[l][j];
		}
		if(s<min&&j=!cv){
			min=s;
			cw=j;
		}
	}
	y[4]=y[4]+min;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[0][l]*d[l][j];
		}
		if(s<min&&j=!cv&&j=!cw){
			min=s;
		}
	}
	y[4]=y[4]+min;
	
	
	
	min=999999999;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[2][l]*d[l][j];
		}
		if(s<min){
			min=s;
			cv=j;
		}
	}
	y[5]=y[5]+min;
	min=999999999;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[0][l]*d[l][j];
		}
		if(s<min&&j=!cv){
			min=s;
			cw=j;
		}
	}
	y[5]=y[5]+min;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[1][l]*d[l][j];
		}
		if(s<min&&j=!cv&&j=!cw){
			min=s;
		}
	}
	y[5]=y[5]+min;
	
	
	
	min=999999999;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[2][l]*d[l][j];
		}
		if(s<min){
			min=s;
			cv=j;
		}
	}
	y[6]=y[6]+min;
	min=999999999;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[1][l]*d[l][j];
		}
		if(s<min&&j=!cv){
			min=s;
			cw=j;
		}
	}
	y[6]=y[6]+min;
	for(j=1;j<=c;j++){	// 変えた後
		s=0;
		for(l=1;l<=c;l++){	// もとの色
			s=s+k[0][l]*d[l][j];
		}
		if(s<min&&j=!cv&&j=!cw){
			min=s;
		}
	}
	y[6]=y[6]+min;
	
	
	min=999999999;
	for(i=1;i<=6;i++){
		if(y[i]<min){
			min=y[i];
		}
	}
	
	
	
	
	cout<<min<<endl;
	return 0;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:56:25: error: lvalue required as left operand of assignment
   56 |                 if(s<min&&j=!cv){
      |                    ~~~~~^~~
a.cc:67:32: error: lvalue required as left operand of assignment
   67 |                 if(s<min&&j=!cv&&j=!cw){
      |                             ~~~^~~
a.cc:93:25: error: lvalue required as left operand of assignment
   93 |                 if(s<min&&j=!cv){
      |                    ~~~~~^~~
a.cc:104:32: error: lvalue required as left operand of assignment
  104 |                 if(s<min&&j=!cv&&j=!cw){
      |                             ~~~^~~
a.cc:130:25: error: lvalue required as left operand of assignment
  130 |                 if(s<min&&j=!cv){
      |                    ~~~~~^~~
a.cc:141:32: error: lvalue required as left operand of assignment
  141 |                 if(s<min&&j=!cv&&j=!cw){
      |                             ~~~^~~
a.cc:167:25: error: lvalue required as left operand of assignment
  167 |                 if(s<min&&j=!cv){
      |                    ~~~~~^~~
a.cc:178:32: error: lvalue required as left operand of assignment
  178 |                 if(s<min&&j=!cv&&j=!cw){
      |                             ~~~^~~
a.cc:204:25: error: lvalue required as left operand of assignment
  204 |                 if(s<min&&j=!cv){
      |                    ~~~~~^~~
a.cc:215:32: error: lvalue required as left operand of assignment
  215 |                 if(s<min&&j=!cv&&j=!cw){
      |                             ~~~^~~
a.cc:241:25: error: lvalue required as left operand of assignment
  241 |                 if(s<min&&j=!cv){
      |                    ~~~~~^~~
a.cc:252:32: error: lvalue required as left operand of assignment
  252 |                 if(s<min&&j=!cv&&j=!cw){
      |                             ~~~^~~