LevOJ.sln - 第三期
LevOJ平台.sln
P2097 乘法口诀数列
问题描述
解决方法
#include <stdio.h> int main() { int ans[100]; int a1,a2,n; scanf("%d%d%d",&a1,&a2,&n); ans[0]=a1; ans[1]=a2; int j=2; for(int i=0;i<10;i++){ if (ans[i]*ans[i+1]>9) { ans[j]=(ans[i]*ans[i+1])/10; j++; ans[j]=(ans[i]*ans[i+1])%10; j++; } else { ans[j]=ans[i]*ans[i+1]; j++; } } for(int i=0;i<n;i++){ printf("%d ",ans[i]); } printf("\n"); return 0; }
P2098 试试手气
问题描述
解决方法
#include <stdio.h> int main() { int index[6][6] = {0}; int n; for (int i = 0; i < 6; i++) { scanf("%d", &index[0][i]); } scanf("%d", &n); for (int i = 0; i < 6; i++) { int temp = 6; for (int j = 1; j <= 5;) { if (temp==index[0][i]) { temp--; } else { index[j][i] = temp; temp--; j++; } } } for (int i = 0; i < 6; i++) { printf("%d ", index[n][i]); } printf("\n"); return 0; }
P2099 机工士姆斯塔迪奥
问题描述
解决方法
#include <stdio.h> int main() { int n, m, s, map[100][100]={0}; scanf("%d%d%d", &n, &m, &s); int rc, ind, cnt=0; for(int i=0; i<s; i++) { scanf("%d%d", &rc, &ind); switch (rc) { case 0: for (int i = 0; i < m; i++) { map[ind-1][i] = 1; } break; case 1: for (int i = 0; i < n; i++) { map[i][ind-1] = 1; } break; default: break; } } for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { if(map[i][j] == 0) { cnt++; } } } printf("%d", cnt); return 0; }
P1992 猜帽子游戏
问题描述
输入输出样例
解决方法
#include <stdio.h> int main() { int n; scanf("%d", &n); int hats[100]; for (int i = 0; i < n; i++) scanf("%d", &hats[i]); int k; scanf("%d", &k); for (int i = 0; i < k; i++) { int guesses[100]; int ycnt = 0, ncnt = 0, hcnt = 0; for (int j = 0; j < n; j++) { scanf("%d", &guesses[j]); if (guesses[j] != 0) { hcnt = 1; if (guesses[j] == hats[j]) { ycnt++; } else { ncnt++; } } } if (ncnt == 0 && ycnt > 0 && hcnt) { printf("Da Jiang!!!\n"); } else { printf("Ai Ya\n"); } } return 0; }
P2023 超人与奥特曼
问题描述
解决方法
#include <stdio.h> enum { M = 100 }; int main() { int x[M]; int aotoaman = 0, surperman = 0; int n, k = 0; scanf("%d", &n); int l = n - 1; for (int i = 0; i < n; i++) { scanf("%d", &x[i]); } while (k != l + 1) { if (aotoaman >= surperman) { surperman += x[k++]; } else if (aotoaman < surperman) { aotoaman += x[l--]; } } printf("%d %d", surperman, aotoaman); return 0; }
P1296 分形宇宙
问题描述
解决方法
#include <stdio.h> #include <math.h> char canvas[10000][10000]; void initCanvas(int size) { for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { canvas[i][j] = ' '; } } } void fra(int n, int x, int y) { int size = pow(3, n - 2); if (n == 1) { canvas[x][y] = 'X'; return; } fra(n - 1, x, y); fra(n - 1, x + 2 * size, y); fra(n - 1, x + size, y + size); fra(n - 1, x, y + 2 * size); fra(n - 1, x + 2 * size, y + 2 * size); } int main() { int n; scanf("%d", &n); int size = pow(3, n - 1); initCanvas(size); fra(n, 0, 0); for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { printf("%c", canvas[i][j]); } printf("\n"); } return 0; }
这是一道非常有趣的题 可玩性非常高~
有关分形,看看这篇介绍
有关本题,可以看看这篇思路讲解
另 (不建议使用的)偷鸡法
点击展开代码
#include <stdio.h> int main() { int n; scanf("%d", &n); switch (n) { case 1: printf( "X\n"); break; case 2: printf( "X X\n" " X \n" "X X\n"); break; case 3: printf( "X X X X\n" " X X \n" "X X X X\n" " X X \n" " X \n" " X X \n" "X X X X\n" " X X \n" "X X X X\n"); break; case 4: printf( "X X X X X X X X\n" " X X X X \n" "X X X X X X X X\n" " X X X X \n" " X X \n" " X X X X \n" "X X X X X X X X\n" " X X X X \n" "X X X X X X X X\n" " X X X X \n" " X X \n" " X X X X \n" " X X \n" " X \n" " X X \n" " X X X X \n" " X X \n" " X X X X \n" "X X X X X X X X\n" " X X X X \n" "X X X X X X X X\n" " X X X X \n" " X X \n" " X X X X \n" "X X X X X X X X\n" " X X X X \n" "X X X X X X X X\n"); break; case 5: printf( "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" " X X X X \n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" " X X X X \n" " X X X X X X X X \n" " X X X X \n" " X X \n" " X X X X \n" " X X X X X X X X \n" " X X X X \n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" " X X X X \n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" " X X X X \n" " X X X X X X X X \n" " X X X X \n" " X X \n" " X X X X \n" " X X X X X X X X \n" " X X X X \n" " X X X X X X X X \n" " X X X X \n" " X X \n" " X X X X \n" " X X \n" " X \n" " X X \n" " X X X X \n" " X X \n" " X X X X \n" " X X X X X X X X \n" " X X X X \n" " X X X X X X X X \n" " X X X X \n" " X X \n" " X X X X \n" " X X X X X X X X \n" " X X X X \n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" " X X X X \n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" " X X X X \n" " X X X X X X X X \n" " X X X X \n" " X X \n" " X X X X \n" " X X X X X X X X \n" " X X X X \n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" " X X X X \n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n" " X X X X X X X X \n" "X X X X X X X X X X X X X X X X\n"); break; default: break; } return 0; }
P2100 考试座位号
问题描述
解决方法
#include <stdio.h> void printInfo(long long int info[][3], int m, int n) { for (int i = 0; i < n; i++) if (m == (int)info[i][1]) printf("%lld %lld\n", info[i][0], info[i][2]); } int main() { int n; scanf("%d", &n); long long int info[10][3]; for (int i = 0; i < n; i++) scanf("%lld %lld %lld", &info[i][0], &info[i][1], &info[i][2]); int m; scanf("%d", &m); int query[10]; for (int i = 0; i < m; i++) scanf("%d", &query[i]); for (int i = 0; i < m; i++) printInfo(info, query[i], n); return 0; }
P2101 一帮一
问题描述
解决方法
#include <stdio.h> int main() { int n; scanf("%d", &n); int gender[50]; char name[50][20]; int isUsed[50] = {0}; for (int i = 0; i < n; i++) { scanf("%d", &gender[i]); scanf("%s", name[i]); } for (int i = 0; i < n; i++) { if (isUsed[i]) { continue; } for (int j = n - 1; j >= 0; j--) { if (i != j && !isUsed[j] && gender[i] != gender[j]) { printf("%s %s\n", name[i], name[j]); isUsed[i] = 1; isUsed[j] = 1; break; } } } return 0; }
P1325 区间合并
问题描述
解决方法
#include <stdio.h> void sort(int s[], int e[], int n) { for (int i = 0; i < n - 1; i++) for (int j = 0; j < n - 1 - i; j++) if (s[j] > s[j + 1]) { int temps = s[j]; int tempe = e[j]; s[j] = s[j + 1]; e[j] = e[j + 1]; s[j + 1] = temps; e[j + 1] = tempe; } } void merge(int s[], int e[], int n) { int start = s[0], end = e[0]; for (int i = 1; i < n; i++) { if (end < s[i]) { printf("%d %d\n", start, end); start = s[i]; end = e[i]; } else if (end < e[i]) { end = e[i]; } } printf("%d %d\n", start, end); } int main() { int n; scanf("%d", &n); int s[n], e[n]; for (int i = 0; i < n; i++) scanf("%d %d", &s[i], &e[i]); sort(s, e, n); merge(s, e, n); return 0; }
P2045 数字蚯蚓
问题描述
输入输出样例
解决方法
#include <stdio.h> #include <string.h> int main() { char str[200], be[200], af[200]; fgets(str, 200, stdin); int len = strlen(str); int k; scanf("%d", &k); strcpy(af, str); for (int i = 0; i < k; i++) { af[i] = af[k]; } strcpy(be, str); for (int i = k; i < len - 1; i++) { be[i] = be[k - 1]; } printf("%s", be); printf("%s", af); return 0; }
第三期完结!!!
看完了点个赞再走嘛
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端