#include <iostream>
#include <string>
#include <math.h>
using namespace std ;
enum NATION
{
NATION_ENGLISH = 1,
NATION_SWIDISH = 2,
NATION_DAMARK = 3,
NATION_NORWAY = 4,
NATION_GERMAN = 5
};
int nation[5] ={0};
enum COLOR
{
COLOR_RED = 1,
COLOR_GREEN = 2,
COLOR_YELLOW = 3,
COLOR_WHITE = 4,
COLOR_BLUE = 5
};
int colors[5] = {0};
enum PET
{
PET_DOG = 1,
PET_BIRD = 2,
PET_CAT = 3,
PET_HORSE = 4,
PET_FISH = 5
};
int pets [5]= {0};
enum DRINK
{
DRINK_TEA = 1,
DRINK_COFFEE = 2,
DRINK_MILK = 3,
DRINK_BEER = 4,
DRINK_WATER = 5
};
int drinks[5] = {0};
enum TOBACCO
{
TOBACCO_PALLMALL = 1,
TOBACCO_DUNHILL = 2,
TOBACCO_BLUEMASTER = 3,
TOBACCO_PRINCE = 4,
TOBACCO_BLENDS = 5
};
int tobaccoes [5] = {0}; //烟
int *key [] = { nation, colors, pets, drinks, tobaccoes };
int values [][5] = { //每一个种类都各有120种排列组合
{ 1, 2, 3, 4, 5 },
{ 1, 2, 3, 5, 4 },
{ 1, 2, 4, 3, 5 },
{ 1, 2, 4, 5, 3 },
{ 1, 2, 5, 3, 4 },
{ 1, 2, 5, 4, 3 },
{ 1, 3, 2, 4, 5 },
{ 1, 3, 2, 5, 4 },
{ 1, 3, 4, 2, 5 },
{ 1, 3, 4, 5, 2 },
{ 1, 3, 5, 2, 4 },
{ 1, 3, 5, 4, 2 },
{ 1, 4, 2, 3, 5 },
{ 1, 4, 2, 5, 3 },
{ 1, 4, 3, 2, 5 },
{ 1, 4, 3, 5, 2 },
{ 1, 4, 5, 2, 3 },
{ 1, 4, 5, 3, 2 },
{ 1, 5, 2, 3, 4 },
{ 1, 5, 2, 4, 3 },
{ 1, 5, 3, 2, 4 },
{ 1, 5, 3, 4, 2 },
{ 1, 5, 4, 2, 3 },
{ 1, 5, 4, 3, 2 },
{ 2, 1, 3, 4, 5 },
{ 2, 1, 3, 5, 4 },
{ 2, 1, 4, 3, 5 },
{ 2, 1, 4, 5, 3 },
{ 2, 1, 5, 3, 4 },
{ 2, 1, 5, 4, 3 },
{ 2, 3, 1, 4, 5 },
{ 2, 3, 1, 5, 4 },
{ 2, 3, 4, 1, 5 },
{ 2, 3, 4, 5, 1 },
{ 2, 3, 5, 1, 4 },
{ 2, 3, 5, 4, 1 },
{ 2, 4, 1, 3, 5 },
{ 2, 4, 1, 5, 3 },
{ 2, 4, 3, 1, 5 },
{ 2, 4, 3, 5, 1 },
{ 2, 4, 5, 1, 3 },
{ 2, 4, 5, 3, 1 },
{ 2, 5, 1, 3, 4 },
{ 2, 5, 1, 4, 3 },
{ 2, 5, 3, 1, 4 },
{ 2, 5, 3, 4, 1 },
{ 2, 5, 4, 1, 3 },
{ 2, 5, 4, 3, 1 },
{ 3, 1, 2, 4, 5 },
{ 3, 1, 2, 5, 4 },
{ 3, 1, 4, 2, 5 },
{ 3, 1, 4, 5, 2 },
{ 3, 1, 5, 2, 4 },
{ 3, 1, 5, 4, 2 },
{ 3, 2, 1, 4, 5 },
{ 3, 2, 1, 5, 4 },
{ 3, 2, 4, 1, 5 },
{ 3, 2, 4, 5, 1 },
{ 3, 2, 5, 1, 4 },
{ 3, 2, 5, 4, 1 },
{ 3, 4, 1, 2, 5 },
{ 3, 4, 1, 5, 2 },
{ 3, 4, 2, 1, 5 },
{ 3, 4, 2, 5, 1 },
{ 3, 4, 5, 1, 2 },
{ 3, 4, 5, 2, 1 },
{ 3, 5, 1, 2, 4 },
{ 3, 5, 1, 4, 2 },
{ 3, 5, 2, 1, 4 },
{ 3, 5, 2, 4, 1 },
{ 3, 5, 4, 1, 2 },
{ 3, 5, 4, 2, 1 },
{ 4, 1, 2, 3, 5 },
{ 4, 1, 2, 5, 3 },
{ 4, 1, 3, 2, 5 },
{ 4, 1, 3, 5, 2 },
{ 4, 1, 5, 2, 3 },
{ 4, 1, 5, 3, 2 },
{ 4, 2, 1, 3, 5 },
{ 4, 2, 1, 5, 3 },
{ 4, 2, 3, 1, 5 },
{ 4, 2, 3, 5, 1 },
{ 4, 2, 5, 1, 3 },
{ 4, 2, 5, 3, 1 },
{ 4, 3, 1, 2, 5 },
{ 4, 3, 1, 5, 2 },
{ 4, 3, 2, 1, 5 },
{ 4, 3, 2, 5, 1 },
{ 4, 3, 5, 1, 2 },
{ 4, 3, 5, 2, 1 },
{ 4, 5, 1, 2, 3 },
{ 4, 5, 1, 3, 2 },
{ 4, 5, 2, 1, 3 },
{ 4, 5, 2, 3, 1 },
{ 4, 5, 3, 1, 2 },
{ 4, 5, 3, 2, 1 },
{ 5, 1, 2, 3, 4 },
{ 5, 1, 2, 4, 3 },
{ 5, 1, 3, 2, 4 },
{ 5, 1, 3, 4, 2 },
{ 5, 1, 4, 2, 3 },
{ 5, 1, 4, 3, 2 },
{ 5, 2, 1, 3, 4 },
{ 5, 2, 1, 4, 3 },
{ 5, 2, 3, 1, 4 },
{ 5, 2, 3, 4, 1 },
{ 5, 2, 4, 1, 3 },
{ 5, 2, 4, 3, 1 },
{ 5, 3, 1, 2, 4 },
{ 5, 3, 1, 4, 2 },
{ 5, 3, 2, 1, 4 },
{ 5, 3, 2, 4, 1 },
{ 5, 3, 4, 1, 2 },
{ 5, 3, 4, 2, 1 },
{ 5, 4, 1, 2, 3 },
{ 5, 4, 1, 3, 2 },
{ 5, 4, 2, 1, 3 },
{ 5, 4, 2, 3, 1 },
{ 5, 4, 3, 1, 2 },
{ 5, 4, 3, 2, 1 }
};
void print (string item, int index)
{
if (false)
{
}
else if ("nation" ==item )
{
switch (index)
{
case 1:
cout<<" 英 ";
break;
case 2:
cout<<" 瑞 ";
break;
case 3:
cout<<" 丹 ";
break;
case 4:
cout<<" 挪 ";
break;
case 5:
cout<<" 德 ";
break;
}
}
else if ("color"==item)
{
switch (index)
{
case 1:
cout<<" 红 ";
break;
case 2:
cout<<" 绿 ";
break;
case 3:
cout<<" 黄 ";
break;
case 4:
cout<<" 白 ";
break;
case 5:
cout<<" 蓝 ";
break;
}
}
else if ("pet"==item)
{
switch (index)
{
case 1:
cout<<" 狗 ";
break;
case 2:
cout<<" 鸟 ";
break;
case 3:
cout<<" 猫 ";
break;
case 4:
cout<<" 马 ";
break;
case 5:
cout<<" 鱼 ";
break;
}
}
else if ("drink"==item)
{
switch (index)
{
case 1:
cout<<" 茶 ";
break;
case 2:
cout<<" 咖 "; //咖啡
break;
case 3:
cout<<" 奶 "; //牛奶
break;
case 4:
cout<<" 啤 ";
break;
case 5:
cout<<" 水 ";
break;
}
}
else if ("tobacco"==item)
{
switch (index)
{
case 1:
cout<<" PALLM ";
break;
case 2:
cout<<" DUNHI ";
break;
case 3:
cout<<" BLUEM ";
break;
case 4:
cout<<" PRINC ";
break;
case 5:
cout<<" BLEND ";
break;
}
}
}
void printKey()
{
for (int i = 0; i < 5; i++)
{
print("color",key[1][i]);
}
cout <<endl;
for (int i = 0; i < 5; i++)
{
print("nation", key[0][i]);
}
cout <<endl;
for (int i = 0; i < 5; i++)
{
print("drink", key[3][i]);
}
cout <<endl;
for (int i = 0; i < 5; i++)
{
print("tobacco", key[4][i]);
}
cout <<endl;
for (int i = 0; i < 5; i++)
{
print("pet", key[2][i]);
}
}
///////////////////////////////////////////////////////////////////
//提示1,2,4,8,9,14 提前检测(预检测以去除不必要的操作,减少执行时间)
//提示 1:英国人住红色房子 01
bool check01()
{
for (int i = 0; i < 5; i++)
{
if (key[0][i] == NATION_ENGLISH)
{
if (key[1][i] != COLOR_RED)
{
return false;
}
else
{
return true;
}
}
}
return false;
}
// 提示 2:瑞典人养狗
bool check02()
{
for (int i = 0; i <5; i++)
{
if (key[0][i] == NATION_SWIDISH)
{
if (key[2][i] != PET_DOG)
{
return false;
}
else
{
return true;
}
}
}
return false;
}
// 提示 4:绿色房子在白色房子左面
bool check4()
{
for (int i = 0; i < 5; i++)
{
if (key[1][i] == COLOR_GREEN)
{
for (int j = 0; j < 5; j++)
{
if (key[1][j] == COLOR_WHITE)
{
if (i > j)
{
return false;
}
else
{
return true;
}
}
}
}
}
return false;
}
// 提示 8:住在中间房子的人喝牛奶
bool check3()
{
return key[3][2] == DRINK_MILK ? true : false;
}
// 提示 9:挪威人住第一间房
bool check0()
{
if (key[0][0] != NATION_NORWAY)
{
return false;
}
return true;
}
// 提示 14.挪威人住蓝色房子隔壁
bool check14()
{
for (int i = 0; i < 5; i++)
{
if (key[0][i] == NATION_NORWAY)
{
for (int j = 0; j < 5; j++)
{
if (key[1][j] == COLOR_BLUE)
{
if (abs(i - j) == 1)
{
return true;
}
else
{
return false;
}
}
}
}
}
return false;
}
bool check()
{
// 提示 3:丹麦人喝茶
for (int i = 0; i < 5; i++)
{
if (key[0][i] == NATION_DAMARK)
{
if (key[3][i] != DRINK_TEA)
{
return false;
}
else
{
break;
}
}
}
// 提示 5:绿房子主人喝咖啡
for (int i = 0; i < 5; i++)
{
if (key[1][i] == COLOR_GREEN)
{
if (key[3][i] != DRINK_COFFEE)
{
return false;
}
else
{
break;
}
}
}
// 提示 6:抽PallMall香烟的人养鸟
for (int i = 0; i < 5; i++)
{
if (key[4][i] == TOBACCO_PALLMALL)
{
if (key[2][i] != PET_BIRD)
{
return false;
}
else
{
break;
}
}
}
// 提示7:黄色房子主人抽Dunhill香烟
for (int i = 0; i < 5; i++)
{
if (key[1][i] == COLOR_YELLOW)
没有合适的资源?快使用搜索试试~ 我知道了~
谁养鱼c++源代码需要的拿去
共23个文件
pdb:4个
manifest:2个
obj:2个
需积分: 18 11 下载量 44 浏览量
2018-11-01
12:57:13
上传
评论 2
收藏 1.4MB RAR 举报
温馨提示
爱因斯坦的困惑 1.有5栋5种颜色的房子 2.每一位房子的主人国籍都不同 3.这五个人每人只喝一个牌子的饮料,只抽一个牌子的香烟,只养一种宠物 4.没有人有相同的宠物,抽相同牌子的烟,喝相同牌子的饮料 已知条件: 1.英国人住在红房子里 2.瑞典人养了一条狗 3.丹麦人喝茶 4.绿房子在白房子的左边 5.绿房子主人喝咖啡 6.抽pallmall烟的人养了一只鸟 7.黄房子主人抽dunhill烟 8.住在中间房子的人喝牛奶 9.挪威人住在第一间房子 10.抽blends烟的人住在养猫人的旁边 11.养马人住在抽dunhill烟人的旁边 12.抽bluemaster烟的人喝啤酒 13.德国人抽prince烟 14.挪威人住在蓝房子旁边 15.抽blends烟的人的邻居喝矿泉水 问题:谁养鱼? ---------------------
资源推荐
资源详情
资源评论
收起资源包目录
findfish.rar (23个子文件)
findfish
Release
findfish.pdb 339KB
findfish.exe 15KB
findfish.suo 10KB
findfish
Release
BuildLog.htm 6KB
whohasfish.obj 548KB
vc90.pdb 172KB
vc90.idb 83KB
findfish.exe.intermediate.manifest 616B
mt.dep 65B
findfish.vcproj.PC-178.Administrator.user 1KB
findfish.vcproj 4KB
Debug
BuildLog.htm 6KB
whohasfish.obj 273KB
vc90.pdb 212KB
vc90.idb 283KB
findfish.exe.intermediate.manifest 381B
mt.dep 65B
whohasfish.cpp 11KB
findfish.sln 890B
Debug
findfish.pdb 2.46MB
findfish.exe 603KB
findfish.ilk 1.31MB
findfish.ncb 1.15MB
共 23 条
- 1
资源评论
hxx221
- 粉丝: 1
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功