能力值:
( LV15,RANK:2473 )
|
-
-
|
能力值:
( LV15,RANK:2473 )
|
-
-
|
能力值:
( LV15,RANK:2473 )
|
-
-
|
能力值:
( LV15,RANK:2473 )
|
-
-
|
能力值:
( LV15,RANK:2473 )
|
-
-
|
能力值:
( LV15,RANK:2473 )
|
-
-
[求助]WIN7 x64这代码会跑飞
64位系统跑32位程序,你注册表设置要用SOFTWARE\WOW6432Node里面的
最后于 2021-4-20 09:34
被ccfer编辑
,原因:
|
能力值:
( LV15,RANK:2473 )
|
-
-
|
能力值:
( LV15,RANK:2473 )
|
-
-
[求助] 逆向一个算法
sungy
不好意思,平时比较忙,这样吧,我相信你能做,你报个价吧,如果在预算内,我想办法联系你,版规不能这里留下联系方式的,还是尊重版规吧。
或者能反推下面的,我就结贴给你,源码到时另外出个价
密钥:FF8 ...
输入:6C 0B 0A F8 41 94 4C B4 AB B1 A1 EB 74 D0 68 6E
|
能力值:
( LV15,RANK:2473 )
|
-
-
|
能力值:
( LV15,RANK:2473 )
|
-
-
|
能力值:
( LV15,RANK:2473 )
|
-
-
|
能力值:
( LV15,RANK:2473 )
|
-
-
|
能力值:
( LV15,RANK:2473 )
|
-
-
求5*5黑白棋盘翻转算法:点击任意棋子,该棋子及上下左右相邻的棋子会改变颜色。白色棋子少于4个即为完成。
不需要什么算法啊,貌似最多23次点击就可以了
void turn(int x, int y, unsigned char arr[5][5])
{
arr[y][x] ^= 1;
if (x != 0)
{
arr[y][x-1] ^= 1;
}
if (x != 4)
{
arr[y][x+1] ^= 1;
}
if (y != 0)
{
arr[y-1][x] ^= 1;
}
if (y != 4)
{
arr[y+1][x] ^= 1;
}
}
int solve5(unsigned char arr[5][5], unsigned char *result)
{
int i,j;
int steps = 0;
//从第二行开始遍历,上一行是1则点一下,这样最多点20次可以把前四行都变0
for (j=1;j<5;j++)
{
for (i=0;i<5;i++)
{
if (arr[j-1][i])
{
turn(i, j, arr);
result[steps] = j * 5 + i;
steps++;
}
}
}
//检查第5行,如果有某位置左右都是1,则该位置点一下,最多把上一行0变1,却把第5行至少2个1变0
for (i=1;i<4;i++)
{
if (arr[4][i-1] && arr[4][i+1])
{
turn(i, j, arr);
result[steps] = j * 5 + i;
steps++;
}
}
return steps;
}
void test_x5()
{
unsigned char result[24];
int steps;
int i;
unsigned char arr[5][5] = {
{0,1,0,1,0},
{1,0,1,1,0},
{0,1,0,1,0},
{1,1,1,1,0},
{0,0,1,0,0}
}; //0黑1白
steps = solve5(arr, result);
printf("result = {");
for (i=0;i<steps;i++)
{
printf("%d,",result[i]);
}
printf("}\n");
}
|
能力值:
( LV15,RANK:2473 )
|
-
-
|