获取Java路径
1 | INT GetJavaHomePathFromRegedit(wchar_t* retwstr) { |
获取Java路径
1 | INT GetJavaHomePathFromRegedit(wchar_t* retwstr) { |
免责声明:以下内容仅供学习使用
本文的工具成品下载见githubmythwarehelper仓库,附加资源也在内
已完成功能:杀死极域,获取极域安装路径,从注册表破解极域密码,重启极域,挂起极域,恢复极域,解除极域全屏窗口限制
极域的进程由StudentMain.exe
启动,因此,只需要使用CreateToolhelp32Snapshot
创建快照,遍历所有进程的所有模块,找到其中可执行文件为StudentMain.exe
那一个进程即可。
以下是代码实现
luoguP13561
2
3
4
5
6
7
8
9
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
35
36#include <cstdio>
#include <cstring>
#include <cmath>
const int MAXN = 1e4 + 5;
int t, n, k, s[MAXN];
bool f[MAXN][105];////f[i][j]表示前i个数字运算之后余数是否为j
int main() {
scanf("%d", &t);
while(t --) {
scanf("%d %d", &n, &k);
for(int i = 1; i <= n; i ++) {
scanf("%d", &s[i]);
s[i] = int(fabs(s[i])) % k;//s[i]为第i个元素模k的值
}
memset(f, 0, sizeof(f));//清除前一次的记录
f[1][s[1]] = 1;//初始化
for(int i = 2; i <= n; i ++) {
for(int j = k - 1; j >= 0; j --) {
if(f[i - 1][j]) {//如果前i - 1个元素模k等于j
f[i][(j + s[i]) % k] = 1;//那么前i-1个值的和加上第i个元素模k等于加上第i个元素后模k的值
f[i][((j - s[i]) % k + k) % k] = 1;//前i-1个值的和减去第i个元素模k的值为j减去第i个元素后模k再加k的值
}
}
}
if(f[n][0]) {//检查所有元素的和能否被k整除
printf("Divisible\n");
}
else {
printf("Not divisible\n");
}
}
return 0;
}