91 条题解
-
1东大微雕 LV 8 @ 2015-02-05 15:41:47
这种题太贱了。这是人性的堕落、道德的沦丧。出这道题的人犯了反人类罪。
#include<iostream>
#include<string.h>
#include<math.h>
#include<stdio.h>
using namespace std;
char a[13];
bool go(){
int i, j,p,q;
for (i = 0; a[i]; i++){
for (j = i + 1; a[j]; j++){
for (p = j + 1; a[p]; p++){
for (q = p + 1; a[q]; q++){
if (a[i] == a[j] && a[p] == a[q] || a[i] == a[q] && a[p] == a[j])
return false;
}
}
}
}
return true;
}
int main(){
//freopen("in.txt", "r", stdin);
int size;
cin >> size;
gets(a);
while (size--){
gets(a);
if (go())cout << "safe" << endl;
else cout << "de1ete" << endl;
}
return 0;
} -
02016-10-23 10:25:35@
这题有两个坑,一个de“1”ete,还有度字符串的时候一定要用gets,因为字符串里面有空格!
#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
using namespace std;
string sCheck(char sA[]);
int main()
{
int nT;
char sA[15];
while (cin >> nT)
{
while (nT--)
{
gets(sA);
cout << sCheck(sA) << endl;
}
}
return 0;
}
string sCheck(string sA)
{
int i, j, k, l, nLen = sA.size();
if (nLen < 4)
return "safe";
for (i = 0; i < nLen; i++)
{
for (j = i + 1; j < nLen; j++)
{
for (k = j + 1; k < nLen; k++)
{
for (l = k + 1; l < nLen; l++)
{
if ((sA[i] == sA[j]) && (sA[l] == sA[k]))
return "de1ete";
if ((sA[j] == sA[k]) && (sA[i] == sA[l]))
return "de1ete";
}
}
}
}
return "safe";
} -
02015-08-13 17:13:13@
席八!!
还有这样的!!
!!!de<1>ete!!!
纳尼!!! -
02014-11-03 22:55:39@
猥琐!
P1482信息筛选
Accepted记录信息
评测状态 Accepted
题目 P1482 信息筛选
递交时间 2014-11-03 22:55:14
代码语言 C++
评测机 上海红茶馆
消耗时间 33 ms
消耗内存 564 KiB
评测时间 2014-11-03 22:55:15评测结果
编译成功
测试数据 #0: Accepted, time = 0 ms, mem = 556 KiB, score = 10
测试数据 #1: Accepted, time = 0 ms, mem = 564 KiB, score = 10
测试数据 #2: Accepted, time = 0 ms, mem = 560 KiB, score = 10
测试数据 #3: Accepted, time = 0 ms, mem = 560 KiB, score = 10
测试数据 #4: Accepted, time = 0 ms, mem = 560 KiB, score = 10
测试数据 #5: Accepted, time = 0 ms, mem = 556 KiB, score = 10
测试数据 #6: Accepted, time = 0 ms, mem = 560 KiB, score = 10
测试数据 #7: Accepted, time = 15 ms, mem = 552 KiB, score = 10
测试数据 #8: Accepted, time = 7 ms, mem = 564 KiB, score = 10
测试数据 #9: Accepted, time = 11 ms, mem = 560 KiB, score = 10
Accepted, time = 33 ms, mem = 564 KiB, score = 100
代码
#include <iostream>
#include <cmath>
#include <stdio.h>
#include <algorithm>
#include <string.h>using namespace std;
int n;
char a[10 + 2];
int i , j , k , l , m;
bool flag;int main()
{
while( scanf( "%d" , &n ) != EOF )
{
getchar();
while( n-- )
{
flag = 0;
memset( a , 0 , sizeof( a ) );
gets( a );
for( m = 0 ; a[m] != 0 ; m++ )
;
if( m < 3 )
{
printf( "safe\n" );
continue;
}
for( i = 0 ; i < m ; i++ )
for( j = i + 1 ; j < m ; j++ )
for( k = j + 1 ; k < m ; k++ )
for( l = k + 1 ; l < m ; l++ )
if( ( a[i] == a[j] && a[k] == a[l] ) || ( a[i] == a[l] && a[k] == a[j] ) )
{
printf( "de1ete\n" );
flag = 1;
i = j = k = l = m;
break;
}
if( !flag )
printf( "safe\n" );
}
}return 0;
}疝气!
-
02014-03-27 10:28:45@
var
str:string;
n,i:longint;
function try(s:string; x,y,z:longint):boolean;
var
ch:char;
flag:boolean;
i,j,q:longint;
begin
for i:=x to y do
begin
ch:=s[i];
flag:=false;
for j:=y downto i+1 do
if s[j]=ch then
begin
q:=j;
flag:=true;
break;
end;
if (flag) then
begin
if (z=1) then
if (try(s,i+1,q-1,2))or(try(s,q+1,length(s),2))or(try(s,1,i-1,2)) then
exit(false);
if z=2 then
exit(true);
end;
end;
if z=2 then exit(false) else
exit(true);
end;begin
readln(n);
for i:=1 to n do
begin
readln(str);
if length(str)<4 then
writeln('safe') else
if try(str,1,length(str),1) then
writeln('safe') else
writeln('de1ete');
end;
end.
太艰辛了 -
02009-11-03 09:01:28@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms注意:有空格!不能用scanf("%s",&s);要用gets(s);并且空格也算AABB和ABBA
-
02009-11-02 13:42:02@
program p1482;
var n,strl,i:longint;
str:string;
procedure check(m:longint);
var i,j,k,l:longint;
begin
for i:=1 to strl-3 do
for j:=i+1 to strl-2 do
for k:=j+1 to strl-1 do
for l:=k+1 to strl do
if ((str[i]=str[j]) and (str[k]=str[l])) or ((str[i]=str[l]) and (str[j]=str[k]))
then begin writeln('de1ete'); exit; end;
writeln('safe');
end;
begin
readln(n);
for i:=1 to n do
begin
readln(str);
strl:=length(str);
check(i);
end;
end.这个边读边输出,可以啊?
为什么先保存在输出最后一个点会超时? -
02009-10-31 22:11:26@
de"1"ete
服了 -
02009-09-25 09:50:45@
水题不扫,何以水天下....
-
02009-08-26 14:32:10@
直接枚举剩余串 也就C(10,4)=210种。
还有那个de“1”ete 是我见过最无语的一题。。。
-
02009-08-10 21:16:58@
WA=90...
-
02009-08-06 21:26:46@
My God!!!!
de“1”ete晕。。。。。。
-
02009-08-03 20:22:48@
每行数据中有空格,c语言注意用gets
-
02009-07-30 21:28:06@
为什么要加randomize??
-
02009-07-23 10:52:17@
记得加randomize......太水了......
-
02009-07-09 19:54:56@
在我没提交前,AC的人数就是我的学号...傲..我AC了以后就更顺了。..567..以前那个也很顺..566...
-
02009-05-29 14:50:37@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
辛苦啊⊙﹏⊙b -
02009-05-28 13:27:24@
饿滴神呀!!!
竟然是de1ete -
02009-05-08 21:48:48@
奇怪!为何在
读取总数的语句
与
分别读取人名并处理的语句
之间加一个randomize就能通过
否则就一分也不得呢?var
n,i:longint;
procedure go();
var
st:string;
l:longint;
a,b,c,d:longint;
begin
readln(st);
l:=length(st);
for a:=1 to l-3 do
for b:=a+1 to l-2 do
for c:=b+1 to l-1 do
for d:=c+1 to l do
if ((st[a]=st) and (st[c]=st[d])) or
((st[a]=st[d]) and (st=st[c])) then
begin writeln('de1ete'); exit; end;
writeln('safe');
end;
begin
readln(n);
randomize;
for i:=1 to n do go;
end.AC!
-
02009-04-18 20:28:07@
70 / 155 (45%)
第70题。自己庆祝下