- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
#include <cstdio>
#include <memory.h>
#define maxn 18
char c[maxn][maxn];
int d[1 << maxn];
int main()
{
freopen("network.in", "rt", stdin);
freopen("network.out", "wt", stdout);
int n; scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%s", c[i]);
memset(d, 0, sizeof(d));
for (int k = 0; k < (1 << n); k++)
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
if (c[i][j] == 'Y' && k & (1 << i) && k & (1 << j) && d[k - (1 << i) - (1 << j)] + 2 > d[k])
d[k] = d[k - (1 << i) - (1 << j)] + 2;
int max = 0;
for (int i = 0; i < (1 << n); i++)
if (d[i] > max)
max = d[i];
printf("%d\n", max);
return 0;
}
ACM-задачка на динамику по подмножествам.
Кто поймет, тому 5 ;)
xaionaro 22.07.2010 19:31 # +2
Хотя, возможно, я просто невнимательно смотрел
ystepanov 22.07.2010 22:01 # 0
daemon_master 22.07.2010 19:34 # −1
у динамики всегда решение изящное, взять даже ДП по изломанному профилю, но в ехать в него даже и с условием сложновато
если твой символ равен Y и смотришь ты две строки, i и j и новое полученное решение выгоднее старого, то переприсваеваешь его обратно, реккуретной формулой красиво выглядет. только я в этом гомнокода не вижу, т.к. и сам в ACM участвую :)
ystepanov 22.07.2010 21:41 # 0
решение верное, сданное.
absolut 22.07.2010 23:31 # −1
ystepanov 22.07.2010 23:47 # 0
absolut 22.07.2010 23:54 # −1
daemon_master 23.07.2010 00:26 # −1
ystepanov 23.07.2010 03:07 # 0
daemon_master 23.07.2010 16:12 # −1
koodeer 23.07.2010 18:04 # −4
ystepanov 23.07.2010 18:38 # −1
это я компилил g++-ом.
Altravert 23.07.2010 18:47 # 0
Говногость 23.07.2010 19:03 # −2
absolut 23.07.2010 23:56 # 0
xaionaro 24.07.2010 01:56 # −1
И не забываем про "#include <cstdio>"
Говногость 24.07.2010 02:24 # 0
Не вижу нигде правил, чтоб к Си разделу говнокода относился только С89, без С99. В Си раздел даже Objective-C спихивают и ничего...
da4ever 24.07.2010 08:17 # −1
да, обжектив с скомпилит С89 но не наоборот.
Голосуем за новый раздел?
absolut 24.07.2010 10:34 # −1
Это от безысходности. Раздел был бы соответствующий так при ошибке публикации пестрило бы все сообщениями "где здесь Obj-c", "где здесь С" и пр.
А популярность Obj-C хоть и растет (Джобс постарался), но кода, хотя бы даже здесь, на нем ещё несравнимо мало с теми же С/С++. Может и раздела поэтому нет. Хз.
xaionaro 24.07.2010 11:36 # −1
А по поводу Objective-C, я что-то не понял, а куда вы предлагаете спихивать код от Objective-C, в "куча" что ли?
koodeer 24.07.2010 03:27 # −1
А вот на cstdio действительно не обратил внимания, виноват.
xaionaro 24.07.2010 11:37 # −1