大家还记得的j的程序吗?分享一下呗!
2024-12-07 10:30:44
发布于:广东
嗨,大家好啊!!
刚考完CSP-J,大家觉得怎么样?
如果你们有代码也可以分享一下。
这是我的第一题代码(我记得的):
#include <bits/stdc++.h>
#define ll long long
using namespace std;
map<string,bool> vis;
int main(){
int n,ans = 52;
cin >> n;
for(int i = 0;i < n;i ++){
string s;
cin >> s;
if(vis[s] == 0){
vis[s] = 1;
ans --;
}
}
cout << ans;
return 0;
}
这是我的第二题代码(我记得的):
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int dx[4] = {0,1,0,-1},dy[4] = {1,0,-1,0};
int vis[1005][1005];
char a[1005][1005];
int main(){
int t;
cin >> t;
while(t --){
int n,m,k;
cin >> n >> m >> k;
int x,y,d,ans = 1;
cin >> x >> y >> d;
x --,y --;
for(int i = 0;i < n;i ++){
for(int j = 0;j < m;j ++){
cin >> a[i][j];
}
}
memset(vis,0,sizeof vis);
vis[x][y] = 1;
for(int g = 0;g < k;g ++){
int nx = x + dx[d],ny = y + dy[d];
if(nx >= 0 and ny >= 0 and nx < n and ny < m and a[nx][ny] == '.'){
x = nx,y = ny;
} else {
d = (d + 1) % 4;
}
if(vis[x][y] == 0){
vis[x][y] = 1;
ans ++;
}
}
cout << ans << endl;
}
return 0;
}
第三题的,不过这题我是暴力枚举的,可能只能对两三个测试点。
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int _hash[10] = {6,2,5,5,4,5,6,3,7,6};
int fl(int x){
int sum = 0,tmp = x;
while(tmp){
int cl = tmp % 10;
tmp /= 10;
sum += _5hash[cl];
}
return sum;
}
int main(){
int t;
cin >> t;
while(t --){
int n;
cin >> n;
if(n < 2){
cout << -1 << endl;
continue;
}
for(int i = 1;;i ++){
if(fl(i) == n){
cout << i << endl;
break;
}
}
}
return 0;
}
第四题纯属骗分。就不发了。
以上都没加文件读写。
这里空空如也
有帮助,赞一个