#include <iostream>
using namespace std;
struct Maze{
int id_x;
int id_y;
int north;
int east;
int south;
int west;
} ;
void check_consistent( struct Maze * maze, int x, int y) {
cout << maze[ 1 ] [ 1 ] .east ; //這行編譯不過
}
int main( )
{
int x,y,num;
int i,check= 0 ;
cin >> y >> x;
Maze maze[ y+ 1 ] [ x+ 1 ] ;
for ( i= 0 ; i< x* y ; i++ ) {
cin >> num;
maze[ ( i/ x) + 1 ] [ ( i% x) + 1 ] .id_x = ( i% x) + 1 ;
maze[ ( i/ x) + 1 ] [ ( i% x) + 1 ] .id_y = ( i/ x) + 1 ;
maze[ ( i/ x) + 1 ] [ ( i% x) + 1 ] .west = num% 2 ;
num = num / 2 ;
maze[ ( i/ x) + 1 ] [ ( i% x) + 1 ] .south = num% 2 ;
num = num / 2 ;
maze[ ( i/ x) + 1 ] [ ( i% x) + 1 ] .east = num% 2 ;
num = num / 2 ;
maze[ ( i/ x) + 1 ] [ ( i% x) + 1 ] .north = num% 2 ;
}
check_consistent( maze, x, y) ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IE1hemV7CiAgICBpbnQgaWRfeDsKICAgIGludCBpZF95OwogICAgaW50IG5vcnRoOwogICAgaW50IGVhc3Q7CiAgICBpbnQgc291dGg7CiAgICBpbnQgd2VzdDsKfTsKCnZvaWQgY2hlY2tfY29uc2lzdGVudChzdHJ1Y3QgTWF6ZSAqbWF6ZSwgaW50IHgsIGludCB5KXsKCiAgICBjb3V0IDw8IG1hemVbMV1bMV0uZWFzdDsgIC8v6YCZ6KGM57eo6K2v5LiN6YGOCgp9CgppbnQgbWFpbigpCnsKICAgIGludCB4LHksbnVtOwogICAgaW50IGksY2hlY2s9MDsKICAgIGNpbiA+PiB5ID4+IHg7CiAgICBNYXplIG1hemVbeSsxXVt4KzFdOwoKICAgIGZvciggaT0wOyBpPCB4KnkgO2krKyl7CiAgICAgICAgY2luID4+IG51bTsKICAgICAgICBtYXplWyhpL3gpKzFdWyhpJXgpKzFdLmlkX3ggPSAoaSV4KSsxOwogICAgICAgIG1hemVbKGkveCkrMV1bKGkleCkrMV0uaWRfeSA9IChpL3gpKzE7CiAgICAgICAgbWF6ZVsoaS94KSsxXVsoaSV4KSsxXS53ZXN0ID0gbnVtJTI7CiAgICAgICAgbnVtID0gbnVtIC8gMjsKICAgICAgICBtYXplWyhpL3gpKzFdWyhpJXgpKzFdLnNvdXRoID0gbnVtJTI7CiAgICAgICAgbnVtID0gbnVtIC8gMjsKICAgICAgICBtYXplWyhpL3gpKzFdWyhpJXgpKzFdLmVhc3QgPSBudW0lMjsKICAgICAgICBudW0gPSBudW0gLyAyOwogICAgICAgIG1hemVbKGkveCkrMV1bKGkleCkrMV0ubm9ydGggPSBudW0lMjsKICAgIH0KICAgIGNoZWNrX2NvbnNpc3RlbnQobWF6ZSwgeCwgeSk7CgogICAgcmV0dXJuIDA7Cn0=
compilation info
prog.cpp: In function ‘void check_consistent(Maze*, int, int)’:
prog.cpp:15:20: error: no match for ‘operator[]’ (operand types are ‘Maze’ and ‘int’)
cout << maze[1][1].east; //這行編譯不過
^
prog.cpp: In function ‘int main()’:
prog.cpp:38:32: error: cannot convert ‘Maze (*)[(x + 1)]’ to ‘Maze*’ for argument ‘1’ to ‘void check_consistent(Maze*, int, int)’
check_consistent(maze, x, y);
^
stdout