![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UVa
风大了猪依旧飞不起来
这个作者很懒,什么都没留下…
展开
-
UVa 1225 Digit Counting
这个题要注意数组的大小,以及位置,放到主函数外,数组开小了会出错我的思路是9以下的数字直接计数,10以上的用循环取余截尾,利用switch计数即可#include#includeint num[100005];int main(void){ int len, n; scanf("%d", &n); while(n--) { i原创 2017-09-22 20:38:12 · 246 阅读 · 0 评论 -
UVa Oil Deposits(dfs)
和poj 2386一模一样简单的深搜#includechar map[105][105];int m, n;void dfs(int x, int y) { map[x][y] = '*'; for (int i = -1; i <= 1; i++) { for (int j = -1; j <= 1; j++) { int dx = i+x原创 2017-12-28 19:35:15 · 192 阅读 · 0 评论 -
UVA 12626 I ❤ Pizza
每3A,1G,1I,1M,2R,1T组成一个pizza将A总数/3,R总数/2,然后从A,G,I,M,R,T中找出最小值即为答案#include#includeint min(int a, int b) { return a>b?b:a;}int main(void){ char ch[650]; int T, a, g, i, m,原创 2017-11-20 22:33:03 · 248 阅读 · 1 评论 -
UVa 10222 Decode the Mad man
方法很.......#include#includeint main(void){ char ch[1000]; while (fgets(ch, 999, stdin) != NULL) { for (int i = 0; i < strlen(ch); i++) { if (ch[i] >= 'A' && ch[i] <= 'Z') {原创 2017-11-11 00:45:30 · 365 阅读 · 0 评论 -
UVa 10082 WERTYU
做法自然还是构建一个容器处理方便#include#includeint main(void){ char ch[1000], s[50] = "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./"; int i, j, len, flag, count; while(gets(ch)) { len = st原创 2017-11-10 22:48:50 · 184 阅读 · 0 评论 -
UVa 10260 Soundex
将无效的进行标记,1~6进行标记。然后将前面元素等于后面元素进行判断,相等就跳过,不相等就输出#include #includeint main(void){ char ch[50]; int num[50], k; while (fgets(ch, 40, stdin) != NULL) { k = 1; memset(num, 0, siz原创 2017-11-10 22:37:21 · 237 阅读 · 0 评论 -
UVa 10038 Jolly Jumpers
水题,这个应该是比较简单的方法,有的先排序,然后看第一个和最后一个元素是否为1和n-1,和怎样怎样....过于复杂#include#includeint main(void){ int T, num[350], n, count; scanf("%d", &T); while (T--) { count = 0; scanf("%d", &n);原创 2017-11-03 11:29:03 · 260 阅读 · 0 评论 -
UVa 10370 Above Average
输出百分比时直接乘以100然后相除即可#includeint main(void){ int T, n, score[1005], count, percent; double ave, sum; scanf("%d", &T); while (T--) { sum = ave = 0.0; count = 0;原创 2017-11-10 18:55:56 · 247 阅读 · 0 评论 -
UVa 488 Triangle Wave(格式控制)
每个输出之间有个换行,最后一个输出无换行#includevoid print(int n, int m){ for(int i = 0; i < m; i++) { for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { printf("%d", i);原创 2017-11-10 15:46:02 · 365 阅读 · 0 评论 -
UVa 401 Palindromes
看了一下很多做法,发现还是构建一个常量数组比较简洁。for循环语句中,其实只需要判断一半即可回文字符串,从左到右读和从右到左读是一样的。比如"pop" 、 “aaaCCaaa”镜像字符串,字符串中字符镜像和原字符串互逆。比如"2A3MEAS"#include#include#includeconst char * rev = "A 3 HIL JM O原创 2017-10-19 23:16:57 · 175 阅读 · 0 评论 -
UVa 1586 Molar mass
用switch进行用字符型遍历,sum进行累加。遇到数字后看下一位是否为数字,如果是将前一位数字乘10加上该位即可。ch减去字符型0为了得到整型#include#include#includeint main(void){ char ch[85], cup; int n, len, t; const float C = 12.01, O = 16.00原创 2017-10-19 23:07:48 · 209 阅读 · 0 评论 -
UVa340 Master-Mind Hints
这个题目巨长。略过,A同列相同元素统计即可。A是数字在两个序列中出现过位置相同主要是B,数字在两个序列中都出现过的次数 = 数字在两个序列中都出现过但位置不对 + 数字在两个序列中都出现过位置相同B = 数字在两个序列中都出现过的次数 - A;数字在两个序列中出现的次数应该是取次数较少的,例如在答案序列中出现过2次,测试序列中出现过3次,实际上在两个序列中都出现过两次,而不是都出现过原创 2017-09-16 21:48:01 · 238 阅读 · 0 评论 -
UVa 1585 Score
这个题不难,思路遇O则加,非O归零。用一个计数器,记住每次O的值,然后累加,遇到X计数器归零即可#include#includeint main(void){ char ch[85]; int n, len, count, sum; scanf("%d", &n); while(n--) { scanf("%s", ch);原创 2017-09-22 21:26:40 · 210 阅读 · 0 评论 -
UVa 10929 You can say 11 (......可能算数论)
一个数的奇数位上数字和与偶数位上数字和的差是11的倍数,那么这个数能被11整除例如:9586311029+8+3+1+2=235+6+1+0=1223-12=11是11的倍数所以958631102能被11整除给大家几组测试数据/* 112233 00000000030800 2937原创 2017-12-28 23:11:20 · 561 阅读 · 0 评论