博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
九度OJ 1481-1490(7/10)
阅读量:4207 次
发布时间:2019-05-26

本文共 5774 字,大约阅读时间需要 19 分钟。

1481(未完成)

 

1482

//错误在于漏掉了初始状态的检查#include 
#include
#include
#include
#define N 13#define M 1594323 // pow(3, 13)typedef struct node { int a[N]; int d;} Pos;int n;Pos *p[M], *begin;Pos *queue[M+1];int front, rear;void initQueue(){ front = rear = 0;}int isEmpty(){ return front == rear;}void push(Pos *p1){ queue[rear++] = p1;}Pos *pop(){ return queue[front++];}void init(){ initQueue(); memset(p, 0, sizeof(p));}int hash(int a[]){ int i, res = 0; for (i=0; i
d = 0; if (checkCode(begin->a)) return begin->d; push(begin); while (!isEmpty()) { Pos *p1 = pop(); for (i=0; i
a[i]), &(p1->a[i+1])); add = hash(p1->a); if (p[add] == NULL) { p[add] = (Pos *)malloc(sizeof(Pos)); for (j=0; j
a[j] = p1->a[j]; p[add]->d = p1->d + 1; if (checkCode(p[add]->a)) return p[add]->d; push(p[add]); } swap(&(p1->a[i]), &(p1->a[i+1])); } } return -1;}int main(){ int i, add, a[N]; char s[N+1]; while(scanf("%d%s", &n, s) != EOF) { for (i=0; i
a[i] = a[i]; begin = p[add]; printf("%d\n", BFS(begin)); } return 0;}/************************************************************** Problem: 1482 User: liangrx06 Language: C Result: Accepted Time:200 ms Memory:26092 kb****************************************************************/

1483

#include 
#define N 10000int main(void){ int n, i; int a; while (scanf("%d", &n) != EOF) {
int max, min; for(i=0; i
max) max = a; } printf("%d %d\n", max, min); } return 0;}/************************************************************** Problem: 1483 User: liangrx06 Language: C Result: Accepted Time:40 ms Memory:912 kb****************************************************************/

1484

#include 
#include
int main(){ int miles; char s1[200], s2[200], type[2]; int sum = 0; while(scanf("%s", s1) != EOF) { if (strcmp(s1, "0") == 0) { printf("%d\n", sum); sum = 0; continue; } else if (strcmp(s1, "#") == 0) break; scanf("%s%d%s", s2, &miles, type); if (type[0] == 'Y') sum += ((miles <= 500) ? 500 : miles); else { sum += 2*miles; if (type[0] == 'B') sum -= (miles/2); } } return 0;}/************************************************************** Problem: 1484 User: liangrx06 Language: C Result: Accepted Time:10 ms Memory:912 kb****************************************************************/

1485

#include 
#include
#include
#define N 80typedef struct node { int i; char c;} Letter;int cmp(const void *a, const void *b){ return ((Letter *)a)->i - ((Letter *)b)->i;}int main(){ char s[N+1]; Letter L[N], *p[3][N]; int len[3]; int k[3]; int n, i, j; while(scanf("%d%d%d", &k[0], &k[1], &k[2]) != EOF) { if (!k[0] && !k[1] && !k[2]) break; scanf("%s", s); n = strlen(s); len[0] = len[1] = len[2] = 0; for (i=0; i
= 'a' && s[i] <= 'i') p[0][len[0]++] = &L[i]; else if (s[i] >= 'j' && s[i] <= 'r') p[1][len[1]++] = &L[i]; else p[2][len[2]++] = &L[i]; } for (i=0; i<3; i++) { int tmp[N]; for (j=0; j
i; for (j=0; j
i = tmp[(j+k[i])%len[i]]; } qsort(L, n, sizeof(L[0]), cmp); for (i=0; i

1486(未完成)

 

1487(未完成)

 

1488

#include 
int main(void){ printf("%d %d\n", 10*30, (1<<30)-1); return 0;}/************************************************************** Problem: 1488 User: liangrx06 Language: C Result: Accepted Time:0 ms Memory:908 kb****************************************************************/

1489

#include 
int main(void){ int i, j, k; int a[2][3], b[3][2], c[2][2]; while (scanf("%d", &a[0][0]) != EOF) { for(i=0; i<2; i++) { for(j=0; j<3; j++) { if (j == 0 && i == 0) continue; scanf("%d", &a[i][j]); } } for(i=0; i<3; i++) { for(j=0; j<2; j++) scanf("%d", &b[i][j]); } for(i=0; i<2; i++) { for(j=0; j<2; j++) { c[i][j] = 0; for (k=0; k<3; k++) c[i][j] += a[i][k]*b[k][j]; } } for(i=0; i<2; i++) { for(j=0; j<2; j++) { printf("%d ", c[i][j]); } printf("\n"); } } return 0;}/************************************************************** Problem: 1489 User: liangrx06 Language: C Result: Accepted Time:0 ms Memory:912 kb****************************************************************/

1490

#include 
#include
 void MyStrcat(char dstStr[], char srcStr[]){    int n1 = strlen(dstStr), n2 = strlen(srcStr);    int i;    for (i = 0; i<=n2; i++)        dstStr[n1+i] = srcStr[i];} int main(){    char dstStr[1000], srcStr[1000];    while(scanf("%s%s", dstStr, srcStr) != EOF)    {        MyStrcat(dstStr, srcStr);        printf("%s\n", dstStr);    }    return 0;}/**************************************************************    Problem: 1490    User: liangrx06    Language: C    Result: Accepted    Time:0 ms    Memory:912 kb****************************************************************/

转载地址:http://gpeli.baihongyu.com/

你可能感兴趣的文章
MySQL必知必会 -- 了解SQL和MySQL
查看>>
MySQL必知必会 -- 使用MySQL
查看>>
MySQL必知必会 -- 数据检索
查看>>
MySQL必知必会 -- 排序检索数据 ORDER BY
查看>>
MySQL必知必会 -- 数据过滤
查看>>
MYSQL必知必会 -- 用通配符进行过滤
查看>>
MYSQL必知必会 -- 用正则表达式进行搜索
查看>>
MySQL必知必会 -- 创建计算字段
查看>>
MySQL必知必会 -- 使用数据处理函数
查看>>
MySQL必知必会 -- 数据汇总
查看>>
MySQL必知必会 -- 子查询的使用
查看>>
POJ 3087 解题报告
查看>>
POJ 2536 解题报告
查看>>
POJ 1154 解题报告
查看>>
POJ 1661 解题报告
查看>>
POJ 1101 解题报告
查看>>
ACM POJ catalogues[转载]
查看>>
ACM经历总结[转载]
查看>>
C/C++文件操作[转载]
查看>>
专业计划
查看>>