分三個區塊跟一個主程式
用二維陣列紀錄轉盤
#include<bits/stdc++.h>
using namespace std;
int m,n,k,point;
char circle[30][30] = {0};
void turn(int listnum,int turning){
char teemp[30];
for(int i = 0;i < n;i++){
teemp[i] = circle[listnum][turning];
turning = turning + 1;
if (turning >= n){
turning = turning - n;
}
}
for(int i = 0;i < n;i++){
circle[listnum][i] = teemp[i];
}
}
int num(int x){
int y = x;
if (y >= n){
y = y % n;
}
y = (y - n) * -1;
if (y >= n){
y = y % n;
}
return y;
}
void count(){
for(int r = 0;r < n;r++){
int row = 0;
for(int i = 0;i < m;i++){
int qqq = 0;
for(int j = i;j < m;j++){
if(circle[i][r] == circle[j][r]){
qqq = qqq + 1;
}
}
row = max(qqq ,row);
}
point = point + row;
}
}
int main(){
cin >> m >> n >> k;
for(int i = 0;i < m;i++){
for(int j = 0;j < n;j++){
char temp = 0;
cin >> temp;
circle[i][j] = temp;
}
}
for(int i = 0;i < k;i++){
for(int j = 0;j < m;j++){
int turning = 0;
cin >> turning;
turning = num(turning);
turn(j,turning);
}
count();
}
cout << point;
return 0;
}
分三個區塊跟一個主程式
用二維陣列紀錄轉盤
#include
using namespace std;int m,n,k,point;
char circle[30][30] = {0};void turn(int listnum,int turning){
char teemp[30];
for(int i = 0;i < n;i++){
teemp[i] = circle[listnum][turning];
turning = turning + 1;
if (turning >= n){
turning = turning - n;
}
}
for(int i = 0;i < n;i++){
circle[listnum][i] = teemp[i];
}
}int num(int x){
int y = x;
if (y >= n){
y = y % n;
}
y = (y - n) * -1;
if (y >= n){
y = y % n;
}
return y;
}void count(){
for(int r = 0;r < n;r++){
int row = 0;
for(int i = 0;i < m;i++){
int qqq = 0;
for(int j = i;j < m;j++){
if(circle[i][r] == circle[j][r]){
qqq = qqq + 1;
}
}
row = max(qqq ,row);
}
point = point + row;
}
}int main(){
cin >> m >> n >> k;
for(int i = 0;i < m;i++){
for(int j = 0;j < n;j++){
char temp = 0;
cin >> temp;
circle[i][j] = temp;
}
}
for(int i = 0;i < k;i++){
for(int j = 0;j < m;j++){
int turning = 0;
cin >> turning;
turning = num(turning);
turn(j,turning);
}
count();
}
cout << point;
return 0;
}
極度陽春半點庫沒用