⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 input.cpp

📁 爱因斯坦谜题
💻 CPP
字号:
#include "common.h"

enum Attribute {
	NATION,
	COLOR,
	PET,
	BEVERAGE,
	CIGARETTE,
	HOUSE,
};

enum Nation {
	BRIT = 1,
	SWEDE,
	DANE,
	NORWEGIAN,
	GERMAN,
};

enum Color {
	RED = 1,
	YELLOW,
	BLUE,
	GREEN,
	WHITE,
};

enum Pet {
	DOG = 1,
	BIRD,
	CAT,
	HORSE,
	FISH,
};

enum Beverage {
	TEA = 1,
	COFFEE,
	MILK,
	BEER,
	WATER,
};

enum Cigarette {
	PALL_MALL = 1,
	DUNHILL,
	BLENDS,
	BLUE_MASTER,
	PRINCE,
};

// 对象内的约束
extern const CHint INIT_HINT[] =
{
	{{NATION,BRIT},{COLOR,RED}},			//1、英国人住红色房子 
	{{NATION,SWEDE},{PET,DOG}},				//2、瑞典人养狗
	{{NATION,DANE},{BEVERAGE,TEA}},			//3、丹麦人喝茶
	{{NATION,GERMAN},{CIGARETTE,PRINCE}},	//13、德国人抽Prince香烟	
	{{NATION,NORWEGIAN},{HOUSE,1}},			//9、 挪威人住第一间房
};
extern const int INIT_HINT_CNT = ARRAY_ITEM_NUM(INIT_HINT);

extern const CHint SELF_HINT[] =
{
	{{COLOR,GREEN},{BEVERAGE,COFFEE}},			//5、绿色房子主人喝咖啡
	{{CIGARETTE,BLUE_MASTER},{BEVERAGE,BEER}},	//12、抽Blue Master的人喝啤酒 
	{{CIGARETTE,PALL_MALL},{PET,BIRD}},			//6、抽Pall Mall香烟的人养鸟
	{{COLOR,YELLOW},{CIGARETTE,DUNHILL}},		//7、黄色房子主人抽Dunhill香烟
	{{COLOR,BLUE},{HOUSE,2}},					//9+14、 挪威人住第一间房+挪威人住蓝色房子隔壁=第二间房是蓝色的
	{{HOUSE,3},{BEVERAGE,MILK}},				//8、住在中间房子的人喝牛奶
};
extern const int SELF_HINT_CNT = ARRAY_ITEM_NUM(SELF_HINT);

//4、绿色房子在白色房子左面 
extern const CHint ORDER_NEIGHBOR_HINT[] =  
{
	{{COLOR,GREEN},{COLOR,WHITE}},
};
extern const int ORDER_NEIGHBOR_HINT_CNT = ARRAY_ITEM_NUM(ORDER_NEIGHBOR_HINT);

extern const CHint NEIGHBOR_HINT[] =
{
	{{CIGARETTE,BLENDS},{PET,CAT}},				//10、抽Blends香烟的人住在养猫的人隔壁
	{{CIGARETTE,BLENDS},{BEVERAGE,WATER}},		//15、抽Blends香烟的人有一个喝水的邻居
	{{CIGARETTE,DUNHILL},{PET,HORSE}},			//11、养马的人住抽Dunhill香烟的人隔壁
};
extern const int NEIGHBOR_HINT_CNT = ARRAY_ITEM_NUM(NEIGHBOR_HINT);

#ifdef SHOW
extern const char* HINTS_STR[] =
{
	(const char*)"5、绿色房子主人喝咖啡",
	(const char*)"12、抽Blue Master的人喝啤酒",
	(const char*)"6、抽Pall Mall香烟的人养鸟",
	(const char*)"7、黄色房子主人抽Dunhill香烟",
	(const char*)"9+14、 挪威人住第一间房+挪威人住蓝色房子隔壁=第二间房是蓝色的",
	(const char*)"8、住在中间房子的人喝牛奶",
	(const char*)"4、绿色房子在白色房子左面 ",
	(const char*)"10、抽Blends香烟的人住在养猫的人隔壁",
	(const char*)"15、抽Blends香烟的人有一个喝水的邻居",
	(const char*)"11、养马的人住抽Dunhill香烟的人隔壁",
};
#endif

static const char* NATION_STR[] =
{
	(const char*)"未定",
	(const char*)"英国",
	(const char*)"瑞典",
	(const char*)"丹麦",
	(const char*)"挪威",
	(const char*)"德国",
};

static const char* COLOR_STR[] =
{
	(const char*)"未定",
	(const char*)"红色",
	(const char*)"黄色",
	(const char*)"蓝色",
	(const char*)"绿色",
	(const char*)"白色",
};

static const char* PET_STR[] =
{
	(const char*)"未定",
	(const char*)"狗  ",
	(const char*)"鸟  ",
	(const char*)"猫  ",
	(const char*)"马  ",
	(const char*)"鱼  ",
};

static const char* BEVERAGE_STR[] =
{
	(const char*)"未定",
	(const char*)"茶  ",
	(const char*)"咖啡",
	(const char*)"牛奶",
	(const char*)"啤酒",
	(const char*)"水  ",
};

static const char* CIGARETTE_STR[] =
{
	(const char*)"未定       ",
	(const char*)"Pall Mall  ",
	(const char*)"Dunhill    ",
	(const char*)"Blends     ",
	(const char*)"Blue Master",
	(const char*)"Prince     ",
};

static const char* HOUSE_STR[] =
{
	(const char*)"未定 ",
	(const char*)"房间1",
	(const char*)"房间2",
	(const char*)"房间3",
	(const char*)"房间4",
	(const char*)"房间5",
};

extern const char** ATTR_NAME[] =
{
	(const char**)NATION_STR,
	(const char**)COLOR_STR,
	(const char**)PET_STR,
	(const char**)BEVERAGE_STR,
	(const char**)CIGARETTE_STR,
	(const char**)HOUSE_STR,
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -