RCC 2014 Warmup (Div. 2)_html/css_WEB-ITnose

WBOY
發布: 2016-06-24 12:05:58
原創
1146 人瀏覽過

A题:看是全用c好还是全用d好还是都用的问题最少,注意 n * m

B题:题意坑死了,就开一个vis数组记录每个人前面的提交数,如果矛盾就false

C题:构造,只要判断n - k 是否

D题:状压DP,按k排序,然后dp数组只要记录完成集合,利用滚动数组优化空间,然后每次加上k * d去取最小值即可

E题:构造问题,不过用随机算法貌似更简便。构造出来的矩阵应该是

a a a a a b

a a a a a b

a a a a a b

c c c c c d

这样的,然后只要去随机a, b, c, d判断每行每列和是不是完全平方数即可

代码:

A:

#include <stdio.h>#include <string.h>#include <math.h>2 #define min(a,b) ((a)  <br> B:  <p></p>  <p></p>  <pre name="code" class="sycode">#include <stdio.h>#include <string.h>const int N = 100005;int n, vis[N];struct Solu {    int x, k;} s[N];bool judge() {    memset(vis, 0, sizeof(vis));    for (int i = 0; i  vis[k])            return false;    }    return true;}int main() {    scanf("%d", &n);    for (int i = 0; i   <br> C:  <p></p>  <p></p>  <pre name="code" class="sycode">#include <stdio.h>#include <string.h>int n, k;int main() {    scanf("%d%d", &n, &k);    if ((n - k)  n) b -= n;                printf("%d %d\n", a, b);            }        }    }    return 0;}</string.h></stdio.h>
登入後複製

D:

#include <stdio.h>#include <string.h>#include <algorithm>#define min(a,b) ((a)  <br> E:  <p></p>  <p></p>  <pre name="code" class="sycode">#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>int n, m;bool check(int num) {    int m = (int)sqrt(num);    return m * m == num;}int main() {    scanf("%d%d", &n, &m);    int a, b, c, d, i, j;    while (1) {        a = rand() % 100 + 1;        b = rand() % 100 + 1;        c = rand() % 100 + 1;        d = rand() % 100 + 1;        if (check((m - 1) * a * a + b * b) &&             check((m - 1) * c * c + d * d) &&             check((n - 1) * a * a + c * c) &&             check((n - 1) * b * b + d * d))            break;    }    for (i = 0; i   <br>  <br>  <p></p>  <p><br> </p> </cstdlib></cmath></cstring></cstdio>
登入後複製
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!