文章列表
/*
ID: fykalv3
LANG: C
TASK: barn1
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int cmp(const void *a, const void *b)
{
return *(int *)a - *(int *)b;
}
int main()
{
FILE *fin = fopen("barn1.in", "r");
FILE *fout = fopen ...
/*
ID: fykalv3
LANG: C
TASK: dualpal
*/
/*
遍历2到10逐个转换然后判断是不是回文数,就有个mark的变量记录是不是大于两种情况下的回文数
*/
#include <stdio.h>
/*
函数的功能就是转换然后再判断是不是回文数
*/
int pd(int num)
{
int i, j, m, k, p, q, flag;
int les[100];
k = 0;
for (i = 2; i <= 10; i++) {
flag = 1;
j = 0;
...
/*
ID: fykalv3
LANG: C
TASK: namenum
*/
#include <stdio.h>
#include <string.h>
/*
我觉得这道题是我学到思想比较多的,题目上来很繁琐,一开始想的是把输入的数字下的所有的名字都列举了然后再去字典里面搜索,工作量太大了,后来觉得可以遍历字典中的每个字符串转换成数字和输入的数字匹配,写程序时间不长,我觉得这个算法有很大的优化空间,以后再写写慢慢回来优化
*/
int main()
{
FILE *fin = fopen("namenum.in ...
这几天老是吵着说要给自己的代码加加注释,看看最近写的东西,总是因为懒惰不想搞,写了那么久程序最后发现还是总结比写代码本身更重要一些,很多问题都是很相似,用的算法也很像,我觉得自己现在完全不懂算法,看到问题没有思考是哪个算法的习惯,是自己太菜了啦,昨天把代码不小心都删了,然后使劲回忆了半天,终于抠出来俩,还有3个还好之前mark过,接下来的几个文章,就把加了注释的代码和学到的一点东西好好总结下了。
/*
ID: fykalv3
LANG: C
TASK: palsquare
*/
/*
这道题是求回文数,涉及到进制转化和回文数的判断,都是很基本的东西。进制转化就是取余和除两个方面的操作,用一个数组记录一切就好了。回文数判断就是两头同时进行,注意边界
还有就是以后写代码的时候要注意对边界的处理,很多时候出问题就是边界没搞对
*/
#include <stdio.h>
int B, l, L;
int num[20], dnum[20];
/*
进制转换函数
*/
void change(int x)
{
in ...
/*
ID: fykalv3
LANG: C
TASK: transform
*/
#include <stdio.h>
#include <string.h>
typedef char SQ[15][15];
int equal(SQ s1, SQ s2, int n);
int rotate(SQ square, SQ resault, int n);
int reflect(SQ square, SQ resault, int n);
int transform(SQ s1, SQ s2, int n);
int main ...
/*
ID: fykalv3
LANG: C
TASK: milk2
*/
#include <stdio.h>
#include <string.h>
#define MAX 1000000
/*
第一次写hash表,之前看过很多提到hash的东西没有写过,据说在大量的搜索中效率很高。这次用了hash,最大的体会就是hash的作用就是mark,方便以后的操作查找相关的信息
其实记录最后的结果如果类型一样在不引起歧义的情况下,可以用数组来代替各种变量,代码就更简洁了
*/
int main()
{
FILE *fin ...