- 博客(6)
- 问答 (1)
- 收藏
- 关注
原创 PIPIOJ 1034: 字典序最小的子序列
题目描述:PIPIOJ (c语言)PIPI有一个字符串S,现在它想刁难刁难一下聪明的你,首先它给你一个整数K,要你找出字典序最小的字符串T,并且字符串T满足:1. T由S的子序列构成.(如S="abcde",则串"ace","bcd","ade"都由S的子序列构成)2. T的长度为K.思路:考察字典序的概念。算法关键在于找k个最小字典序字符串,初始化从前倒数k个数开始,每次加入一个数,同时记录并取出基于上次队列中最小的数的位置。#include <stdio.h>#i..
2022-03-20 19:15:30
1191
原创 PIPIOJ 1001: 水仙花数
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。现在要求输出所有在m和n范围内的水仙花数。输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开(注意每组输出的最后一个数之后不要加空格);如果给定的范围内不存在水仙花数,则输出no;每个测试
2022-03-20 17:23:49
155
原创 PIPIOJ 1000: 回文串问题
PIPIOJ判断回文串。用数组存储输入字符串,需要求出每个字符串串长。代码:#include <stdio.h>int fun(char a[],int n){ int low=0,high=n; int mid=(low+high)/2;int i=0; while(i<=mid){ if(a[i]==a[n]){ i++;n--; } else return 0; }
2022-03-20 16:22:46
372
原创 PIPIOJ 1030: 平行四边形
题目:PIPIOJ思路:简单题。多组输入,对每组参数mnc直接printf输出打印。第一行和最后一行输出n个字符,中间m-2行只打印两个字符。主要涉及循环输出的知识点。代码:#include <stdio.h>int main(){ int m,n;char c; while(scanf("%d %d %c",&m,&n,&c)!=EOF){ for(int i=1,k=1;i<=m;i++,k++){ .
2022-03-20 00:56:00
401
原创 PIPIOJ 1029: 整数的立方和
题目链接:PIPIOJ代码简单但是输入输出需要注意格式。(oj语言编译器不同)代码:#include <stdio.h>#include <string.h>int main(){ //题目输入k<=1000(int),count用long long 型 int k,i; long long count; while(scanf("%d",&k)!=EOF){ count=0;
2022-03-19 23:36:34
294
原创 PIPIOJ 1510 换座位问题
问题链接PIPIOJ思路:多组输入字符串(数组),交换指定两行字符串的方法通过swap和strcpy实现(c语言没有alth库需要定义函数swap)。注意:数组大小不能太小否则会数组越界,段错误!!!代码如下:#include <stdio.h>#include <string.h>void swap(char *a1,char*a2){ char c[100]; strcpy(c,a1); strcpy(a1,a2); strcp
2022-03-19 22:30:09
797
空空如也
PIPIOJ 1510 换座位问题
2022-03-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人