pat1006,1011,1002,1065,1046,1042

PTA甲级算法笔记:

A1042 洗牌器

#include<cstdio>
#include<iostream>
using namespace std;
int main(){
    const int n = 54;
    int k;
    cin >> k;
    int start[ n+ 1], end[n + 1], next[n + 1];
    char mp[5] = {'S','H','C','D','J'};
    for (int j = 1; j <= n; j++) {
        cin >> next[j];
    } for (int i = 1; i <= n; i++) {
        start[i] = i;
    }

    for (int m = 0; m < k; m++) {
        for (int i = 1; i <=n; i++) {
            end[next[i]] = start[i];
        }
        for (int j = 1; j <= n; j++) {
            start[j] = end[j];
        }
    }
    for (int i = 1; i <= n; i++) {
        start[i]--;//1-13属于第一个
        if (i != n) {
            cout << mp[start[i] / 13] << (start[i] % 13 + 1) << " ";
        }
        else {
            cout << mp[start[i] / 13] << (start[i] % 13 + 1);
        }
    }
     return 0;

}

A1046A+B>C
重点是考虑正负溢出问题
#include
#include
using namespace std;
const int N = 10000;

int main() {

int n, query, left, right,sum=0;//1到1的总距离
int dis[N],a[N];//dis[i]存储第1个结点顺时针到第i个结点的下一个结点的距离
cin>>n;
for (int i = 1; i <= n;i++){
	cin>>a[i];
	sum += a[i];
	dis[i] = sum;
}
cin>>query;
for (int i = 0; i < query; i++) {
	cin>>left>>right;
	if (left > right) swap(left, right);
	int temp = dis[right - 1] - dis[left - 1];
	cout<<min(temp, sum - temp)<<endl;
}
return 0;

}
A1065 A+B and C (64bit)
#include
#include
#include
using namespace std;

int main() {
int T=0,i=0;
long long A, B, C,ans; //long int -2的63次方到2的63次方,所以加和会发生溢出
scanf("%d", &T);
while(T–) {
i++;
scanf("%lld%lld%lld",&A,&B,&C);
ans = A + B;
if (A > 0 && B > 0 && ans < 0)
printf(“Case #%d: true\n”,i);
else if (A < 0 && B < 0 && ans >= 0)
printf(“Case #%d: false\n”, i);
else if (ans > C)
printf(“Case #%d: true\n”, i);
else printf(“Case #%d: false\n”, i);
}
return 0;
}

A1002 多项式求和
#include
#include
#include
using namespace std;
const int maxn = 1111;
int main() {
int k, p = 0;
int n = 0;
double e = 0;
int count = 0;
scanf("%d", &k);//第一个多项式非零项个数
double c[maxn] = { };
for (int i = 0; i < k; i++) {
scanf("%d %lf", &n, &e);
c[n] += e;
}
scanf("%d", &p);//第二个多项式非零项个数
for (int i = 0; i < p; i++) {
scanf("%d %lf", &n, &e);
c[n] += e;
}
for (int i = 0; i <maxn; i++) {
if (c[i] != 0)
count++;
}
printf("%d", count);
for (int i = maxn - 1; i >= 0; i–) {
if(c[i]!=0) printf(" %d %.1f",i, c[i]);

}
return 0;

}

A1011世界杯求最大收益
#include
#include
#include
using namespace std;
const int maxn = 100;
int main() {
int idx = 0;
double e=0.0,temp=0.0,ans=1.0;
char res[3] = { ‘W’,‘T’,‘L’ };
char res_m[3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {

		scanf_s("%lf", &e);
		if (e > temp) {
			temp = e;
			idx = j;
		}
	}
	res_m[i] = res[idx];
	ans *= temp;
}
for (int i = 0; i < 3; i++) {
	printf("%c ", res_m[i]);
}
printf("%.2f",(ans*0.65-1)*2);
return 0;

}

A1006最早开门,最晚锁门
#include
#include
using namespace std;
int main() {
int n, minn = INT_MAX, maxn = INT_MIN;
scanf("%d", &n);
string unlocked, locked;
for(int i = 0; i < n; i++) {
string t;
cin >> t;
int h1, m1, s1, h2, m2, s2;
scanf("%d:%d:%d %d:%d:%d", &h1, &m1, &s1, &h2, &m2, &s2);
int tempIn = h1 * 3600 + m1 * 60 + s1;
int tempOut = h2 * 3600 + m2 * 60 + s2;
if (tempIn < minn) {
minn = tempIn;
unlocked = t;
}
if (tempOut > maxn) {
maxn = tempOut;
locked = t;
}
}
cout << unlocked << " " << locked;
return 0;
}

2,利用string类型可以直接进行比较
#include
#include
using namespace std;
int main(){
string in=“23:59:59”,out=“00:00:00”,fname,lname;
int n;
cin>>n;
for(int i=0;i<n;i++){
string a,b,c;
cin>>a>>b>>c;
if(b<in) {in=b;fname=a;}
if(c>out){out=c;lname=a;}
}
cout<<fname<<" "<<lname;
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值