- 1
internal static string TryingDownloadAgainDotDotDot
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+123
internal static string TryingDownloadAgainDotDotDot
Индусы суровы.
+136
bool isInsideString = false;
...
isInsideString = (isInsideString == true)? false:true;
+155
if ($num > ($i-4)) {
$delta = $i - $num;
if ($delta == 1) $num = $num - 3;
if ($delta == 2) $num = $num - 2;
if ($delta == 3) $num = $num - 1;
}
где i это кол-во элементов, num - текущий элемент, delta - разница между количеством и текущим
Задача: уникализировать алгоритм. Мне не нравится вот это
if ($delta == 1) $num = $num - 3;
if ($delta == 2) $num = $num - 2;
if ($delta == 3) $num = $num - 1;
но как сделать это одной строкой пока придумать не могу...
+131
#include <stdio.h>
#include <math.h>
void out_bin (unsigned short c){
for (int i = 11; i>=0; i--) {
if ((c & (unsigned short)(1<<i))/(1<<i)==1) printf("1");
else printf("0");
}
printf("\n");
}
int main (){
int a[8]={2,4,5,6,8,9,10,11};
int b[4]={0,1,3,7};
int d=0;
unsigned short int c=0,c1[4]={0,0,0,0};
unsigned char data=165,tdata=176;
for(int i=7;i>=0;i--)
{
if (tdata & 128){
c+=(unsigned short )(1<<a[i]);
}
tdata<<=1;
}
for (int i=0;i<8;i++){
unsigned short b = (unsigned short)((c & (unsigned short)(1<<a[i]))/(1<<a[i])) ;
if(a[i] & 1) c1[0]^=b;
else
if(a[i] & 2) c1[1]^=b ;
else
if(a[i] & 4) c1[2]^=b ;
else
if(a[i] & 8) c1[3]^=b ;
}
for (int i = 0; i < 4; i++) {
if (!c1[i]) {
c|=(unsigned short)(1<<((1<<i)-1));
}
}
printf("Data= ");
out_bin(c);
c ^= 256 ;
if ((((c & 1024)/1024) ^ ((c & 256)/256) ^ ((c & 64)/64) ^ ((c & 16)/16) ^ ((c & 4)/4) ^ ((c & 1)/1) ) !=1 ){
d += 1;
}
if ((((c & 1024)/1024) ^ ((c & 512)/512) ^ ((c & 64)/64) ^ ((c & 32)/32) ^ ((c & 4)/4) ^ ((c & 2)/2) ) !=1 ){
d +=2;
}
if ((((c & 2048)/2048) ^ ((c & 64)/64) ^ ((c & 32)/32) ^ ((c & 16)/16) ^ ((c & 8)/8) ) !=1 ){
d +=4;
}
if ((((c & 2048)/2048) ^ ((c & 1024)/1024) ^ ((c & 512)/512) ^ ((c & 256)/256) ^ ((c & 128)/128) )!=1 ){
d+=8;
}
printf("Spoiled= ");
out_bin(c);
printf("%d",d);
if (d){
c ^=(1<<(d-1));
}
printf("Corrected= ");
out_bin(c);
return 0;
}
Код Хэмминга
+123
Попался на одном сайте опрос:
Approximately how speedy is your Internet connection?
Pony express
512kb/s
1Mb/s
2Mb/s
4Mb/s
10Mb/s
100Mb/s
Greased lightning
Увидев первый пункт в опросе, и учитывая местный культ, решил поделиться :)
+127
string res = "";
try
{
if (org_id == NewId.ToString())
{
string query = "delete from ARMVZ_CONFIG where org_id = " + org_id;
OdbcCommand cmd = new OdbcCommand(query, getConnect());
cmd.ExecuteNonQuery();
cmd.CommandText = "delete from organisations where id = " + org_id;
cmd.ExecuteNonQuery();
cmd.CommandText = "delete from services where orgid = " + org_id;
cmd.ExecuteNonQuery();
NewId = 0;
res = "";
}
else
{
try
{
string query = "select * from tmp_organisations where id = " + org_id;
OdbcCommand cmd = new OdbcCommand(query, getConnect());
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
if (dt.Rows.Count > 0)
{
query = "update organisations set ";
foreach (DataColumn col in dt.Columns)
{
if (col.ColumnName != "id")
{
query = query + col.ColumnName +
" = (select " + col.ColumnName +
@" from tmp_organisations where tmp_organisations.id = " + org_id + " ),";
}
}
query = query.Remove(query.Length - 1);
query = query + " where id = " + org_id;
cmd.CommandText = query;
dt.Dispose();
cmd.ExecuteNonQuery();
}
}
catch
{
//
}
try
{
string query = "select * from tmp_armvz_config where org_id = " + org_id;
OdbcCommand cmd = new OdbcCommand(query, getConnect());
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
if (dt.Rows.Count > 0)
{
query = "update armvz_config set ";
foreach (DataColumn col in dt.Columns)
{
if (col.ColumnName != "org_id")
{
query = query + col.ColumnName +
" = (select " + col.ColumnName +
@" from tmp_armvz_config where tmp_armvz_config.org_id = " + org_id + " ),";
}
}
query = query.Remove(query.Length - 1);
query = query + " where org_id = " + org_id;
cmd.CommandText = query;
dt.Dispose();
cmd.ExecuteNonQuery();
}
}
catch
{
//
}
метод называется "rollback_transaction". весь метод просто не влез
+137
// ...
if not Length(username) in [6..24] then
raise Exception.Create('Длина ника должна находиться в пределах от 6 до 24 символов');
ну прям как N ∈[6; 24]
+78
switch (blds [i])
{
default:
points [0] [i] = InputGameMessage.readString ();
break;
}
замечательная индусятина
+135
try {
// ....
} except(EXCEPTION_EXECUTE_HANDLER) {
Err = ERROR_INVALID_PARAMETER;
//
// Access the following variables here so that the compiler will respect our statement
// ordering w.r.t. these values. Otherwise, we can't be sure that the values are accurate
// at the point where the exception occurred.
//
Buffer = Buffer;
Array = Array;
i = i;
}
втф?
−87
#!/usr/bin/python
import itertools, math, os, random, re, sys
random.seed (1234)
while True:
s = sys.stdin.readline ().strip ()
if s == '':
s = sys.stdin.readline ().strip ()
if s == '':
break
t = sys.stdin.readline ()
r = sys.stdin.readline ()
s = [c for c in s]
t = [c for c in t]
r = [c for c in r]
s.sort ()
t.sort ()
r.sort ()
ok = True
for c in r:
if len (s) > 0 and c == s[0]:
s = s[1:]
elif len (t) > 0 and c == t[0]:
t = t[1:]
else:
ok = False
ok = ok and len (s) == 0 and len (t) == 0
if ok:
print 'YES'
else:
print 'NO'
#Люди делают так:
#a, b, c = (raw_input() for i in range(3))
#print 'YES' if sorted(a + b) == sorted(c) else 'NO'
Задача такая: даны три строки: a, b и c
проверить что третья может быть получена из двух других преремешиванием
Источник:
codeforces, Codeforces beta 101 round, 1018183