第1个回答 2014-10-28
bri.cpp
#include <fstream>
using namespace std;
int main()
{
ifstream in("bri.in");
ofstream out("bri.out");
int I, ans = 0;
in >> I;
for (int i = 1; i <= I; i++)
if (I % i == 0) ans += i;
out << ans << "\n";
return 0;
}
negii.pas
var
a:array[1..10000]of integer;
k,i,n:longint;
begin
assign(input,'negii.in'); reset(input);
assign(output,'negii.out'); rewrite(output);
read(n);
k:=0;
repeat
inc(k);
a[k]:=abs(n mod 2);
n:=-trunc((n-a[k])/ 2);
until n=0;
for i:=k downto 1 do write(a[i]);
writeln;
close(output);
end.
pizza.cpp
#include <stdio.h>
int nconstraints, ntoppings;
int check[52][20];
int ncheck[52];
int ndq = 0;
int toppings[20+1];
void count (int n) {
int i, j, match;
if (n == 0) {
for (i = 0; i < nconstraints; i++) {
match = 1;
for (j = 0; j < ncheck[i]; j++)
match &= toppings[ check[i][j] ];
if (match) { ndq++; return; }
}
return;
}
toppings[n] = 1; count(n-1);
toppings[n] = 0; count(n-1);
}
int main () {
FILE *fin, *fout;
int i, j, k;
fin = fopen ("pizza.in", "r");
fout = fopen ("pizza.out", "w");
fscanf (fin, "%d %d", &ntoppings, &nconstraints);
for (i = 0; i < nconstraints; i++) {
fscanf (fin, "%d", &ncheck[i]);
for (j = 0; j < ncheck[i]; j++)
fscanf(fin, "%d", &check[i][j]);
}
count(ntoppings);
fprintf (fout, "%d\n", (1<<ntoppings) - ndq);
return 0;
}
sents.cpp
#include<fstream>
using namespace std;
ifstream fin("sents.in");
ofstream fout("sents.out");
string words[100],s;
int n;
int dp[100];
void dbg()
{
for (int i=0; i<s.size(); i++)
fout<<dp[i]<<" ";
fout<<endl;
}
bool check_( string a, string b)
{
sort(a.begin(), a.end());
sort(b.begin(), b.end());
return a==b;
}
int main()
{
fin >>n;
for (int i=0; i<n; i++) fin >> words[i];
fin >> s;
s="*"+s;
int m=s.size();
for (int i=1; i<=m; i++) dp[i]=123456;
for (int i=1; i<m; i++)
{
for (int j=0; j<n; j++)
{
if (i+words[j].size()-1 >= m ) continue;
if ( ! check_(words[j], s.substr(i,words[j].size()) ) ) continue;
int cc=0;
for (int k=0,ii=i; k<words[j].size(); k++,ii++)
if (words[j][k]!=s[ii] ) cc++;
dp[i+words[j].size()-1] <?= cc + dp[i-1];
}
}
fout << (dp[m-1]==123456 ? -1 : dp[m-1]) <<endl;
//dbg();
return 0;
}本回答被提问者采纳