Zhourf-2001 2014年02月08日
求助:我用C++做UVaOJ 489为什么老是Wrong Answer啊?
我测试了许多数据都是正确的,也不存在矛盾现象。


#include <iostream>
using namespace std;

int count_letter(string str) {
int count;
for (int i=0; i<str.length(); ++i) {
bool flag = false;
for (int j=0; j<i; ++j) {
if (str[i]==str[j]) {
flag = true;
break;
} /*if*/
} /*for j*/
if (flag == false) {
count++;
} /*if*/
} /*for i*/
return count;
} /*letter()*/

int main() {
int round;
while (cin>>round, round!=-1) {
string ans, gus;
cin >> ans >> gus;
int letters = count_letter(ans);
int heals = 7;
char jl[50];
int jl_c = 0;
for (int i=0; i<gus.length(); ++i) {
int j; bool flag;
for (j=0, flag=false; j<jl_c; ++j) {
if (gus[i]==jl[j]) {
flag = true;
break;
} /*if*/
} /*for j*/
if (flag==true) {
continue;
} /*if*/
jl[jl_c++] = gus[i];
for (j=0, flag=false; j<ans.length(); ++j) {
if (gus[i]==ans[j]) {
flag = true;
break;
} /*if*/
} /*for j*/
if (flag==false) {
--heals;
if (heals==0) {
cout << "Round " << round << endl;
cout << "You lose." << endl;
break;
} /*if*/
} else {
--letters;
if (letters==0) {
cout << "Round " << round << endl;
cout << "You win." << endl;
break;
} /*if*/
} /*if-else*/
} /*for i*/
if (letters && heals) {
cout << "Round " << round << endl;
cout << "You chickened." << endl;
} /*if*/
} /*while*/
return 0;
} /*main()*/
...全文
105 点赞 收藏 3
写回复
3 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告